ECMAScript/JavaScript Regular Expression
/^(/?(([!$&-.0-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?|/{2}([0-1]|[3-9][0-:]|(:|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*:|[3-9]([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*:)(:|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*:)*[0-13-9]|2([!$&-\-0-13-5:-;=A-Z_a-z~]|(%[0-9A-Fa-f]{2}([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*:|\.(:|([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+:))(:|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*:)*[0-13-9]|2([!$&-\-:-;=A-Z_a-z~]|[0-9]:|(%[0-9A-Fa-f]{2}([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*:|\.(:|([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+:)|[0-9]([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+:)(:|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*:)*[0-13-9])|2?\.[3-9]([0-9]?:|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2}|[0-9]([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2}))([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*:(:|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*:)*[0-13-9])))*([3-9]?(|/([!$&-;=@-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]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:{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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:{2}|[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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|\[(([0-9A-Fa-f][0-9A-Fa-f]?:){6}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f][0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:)((:(\]|[0-9A-Fa-f]{1,2}\])|[A-Fa-f][0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|(:[0-9A-Fa-f]{3}|[A-Fa-f][0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?\]|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|(0\.|1(\.|[0-9]{1,2}\.)|[3-9][0-9]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|(0\.|1(\.|[0-9]{1,2}\.)|[3-9][0-9]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9](:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-4]((:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|5((:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[6-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-2;=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]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:{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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:{2}|[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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|\[(([0-9A-Fa-f][0-9A-Fa-f]?:){6}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f][0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:)((:(\]|[0-9A-Fa-f]{1,2}\])|[A-Fa-f][0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|(:[0-9A-Fa-f]{3}|[A-Fa-f][0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?\]|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|(0\.|1(\.|[0-9]{1,2}\.)|[3-9][0-9]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|(0\.|1(\.|[0-9]{1,2}\.)|[3-9][0-9]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9](:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-4]((:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|5((:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[6-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|[3-9]?(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|[3-9]?(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|[3-9]?(\[:{2}2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=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})*)?)|[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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}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})*)?)|[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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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})*)?)|[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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|([3-9]?(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2))|[3-9]?(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2|[3-9]?(\[:{2}2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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})*)?)|[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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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})*)?)|[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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([3-9]?(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))2))|[3-9]?(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2|[3-9]?(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2)|[3-9]?(\[:{2}2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2))|([3-9]?(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2))|[3-9]?(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2|[3-9]?(\[:{2}2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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})*)?)|[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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([3-9]?(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){5}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){5}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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){2})|[3-9]?(\[:{2}2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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){2}))|([3-9]?(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2))|[3-9]?(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2|[3-9]?(\[:{2}2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))2))|[3-9]?(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2|[3-9]?(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2)|[3-9]?(\[:{2}2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2))|([3-9]?(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2))|[3-9]?(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2|[3-9]?(\[:{2}2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2)([A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-4]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|5((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-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-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*:|[3-9]([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*:)(:|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=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]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:{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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:{2}|[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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|\[(([0-9A-Fa-f][0-9A-Fa-f]?:){6}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f][0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:)((:(\]|[0-9A-Fa-f]{1,2}\])|[A-Fa-f][0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|(:[0-9A-Fa-f]{3}|[A-Fa-f][0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?\]|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|(0\.|1(\.|[0-9]{1,2}\.)|[3-9][0-9]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|(0\.|1(\.|[0-9]{1,2}\.)|[3-9][0-9]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9](:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-4]((:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|5((:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[6-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-2;=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]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:{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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:{2}|[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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|\[(([0-9A-Fa-f][0-9A-Fa-f]?:){6}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f][0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:)((:(\]|[0-9A-Fa-f]{1,2}\])|[A-Fa-f][0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|(:[0-9A-Fa-f]{3}|[A-Fa-f][0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?\]|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|(0\.|1(\.|[0-9]{1,2}\.)|[3-9][0-9]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|(0\.|1(\.|[0-9]{1,2}\.)|[3-9][0-9]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9](:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-4]((:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|5((:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[6-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(\[:{2}2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=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})*)?)|[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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}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})*)?)|[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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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})*)?)|[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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2)|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2|(\[:{2}2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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})*)?)|[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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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})*)?)|[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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))2)|(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2)|(\[:{2}2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2))|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2)|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2|(\[:{2}2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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})*)?)|[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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){5}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){5}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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)|(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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){2})|(\[:{2}2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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){2}))|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2)|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2|(\[:{2}2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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)|(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))2)|(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2)|(\[:{2}2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2))|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2)|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2|(\[:{2}2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2)([A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-4]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|5((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-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-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|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]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:{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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:{2}|[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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|\[(([0-9A-Fa-f][0-9A-Fa-f]?:){6}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f][0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:)((:(\]|[0-9A-Fa-f]{1,2}\])|[A-Fa-f][0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|(:[0-9A-Fa-f]{3}|[A-Fa-f][0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?\]|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|(0\.|1(\.|[0-9]{1,2}\.)|[3-9][0-9]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|(0\.|1(\.|[0-9]{1,2}\.)|[3-9][0-9]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9](:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-4]((:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|5((:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[6-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|%[0-9A-Fa-f]{2}([!$&-.0-2;=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]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:{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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:{2}|[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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|\[(([0-9A-Fa-f][0-9A-Fa-f]?:){6}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f][0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:)((:(\]|[0-9A-Fa-f]{1,2}\])|[A-Fa-f][0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|(:[0-9A-Fa-f]{3}|[A-Fa-f][0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?\]|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|(0\.|1(\.|[0-9]{1,2}\.)|[3-9][0-9]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|(0\.|1(\.|[0-9]{1,2}\.)|[3-9][0-9]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9](:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-4]((:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|5((:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[6-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|%[0-9A-Fa-f]{2}([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|%[0-9A-Fa-f]{2}([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(\[:{2}2|%[0-9A-Fa-f]{2}([!$&-.0-2;=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})*)?)|[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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}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})*)?)|[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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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})*)?)|[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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|%[0-9A-Fa-f]{2}([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2)|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|%[0-9A-Fa-f]{2}([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2|(\[:{2}2|%[0-9A-Fa-f]{2}([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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})*)?)|[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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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})*)?)|[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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))2|%[0-9A-Fa-f]{2}([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))2)|(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|%[0-9A-Fa-f]{2}([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|%[0-9A-Fa-f]{2}([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2)|(\[:{2}2|%[0-9A-Fa-f]{2}([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2))|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|%[0-9A-Fa-f]{2}([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2)|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|%[0-9A-Fa-f]{2}([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2|(\[:{2}2|%[0-9A-Fa-f]{2}([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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})*)?)|[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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){5}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|%[0-9A-Fa-f]{2}([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){5}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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)|(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|%[0-9A-Fa-f]{2}([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|%[0-9A-Fa-f]{2}([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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){2})|(\[:{2}2|%[0-9A-Fa-f]{2}([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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){2}))|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|%[0-9A-Fa-f]{2}([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2)|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|%[0-9A-Fa-f]{2}([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2|(\[:{2}2|%[0-9A-Fa-f]{2}([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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)|(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))2|%[0-9A-Fa-f]{2}([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))2)|(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|%[0-9A-Fa-f]{2}([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|%[0-9A-Fa-f]{2}([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2)|(\[:{2}2|%[0-9A-Fa-f]{2}([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2))|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|%[0-9A-Fa-f]{2}([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2)|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|%[0-9A-Fa-f]{2}([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2|(\[:{2}2|%[0-9A-Fa-f]{2}([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2)([A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-4]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|5((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-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-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-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]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:{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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:{2}|[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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|\[(([0-9A-Fa-f][0-9A-Fa-f]?:){6}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f][0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:)((:(\]|[0-9A-Fa-f]{1,2}\])|[A-Fa-f][0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|(:[0-9A-Fa-f]{3}|[A-Fa-f][0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?\]|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|(0\.|1(\.|[0-9]{1,2}\.)|[3-9][0-9]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|(0\.|1(\.|[0-9]{1,2}\.)|[3-9][0-9]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9](:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-4]((:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|5((:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[6-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([!$&-.0-2;=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]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:{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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:{2}|[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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|\[(([0-9A-Fa-f][0-9A-Fa-f]?:){6}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f][0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:)((:(\]|[0-9A-Fa-f]{1,2}\])|[A-Fa-f][0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|(:[0-9A-Fa-f]{3}|[A-Fa-f][0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?\]|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|(0\.|1(\.|[0-9]{1,2}\.)|[3-9][0-9]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|(0\.|1(\.|[0-9]{1,2}\.)|[3-9][0-9]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9](:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-4]((:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|5((:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[6-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(\[:{2}2|([!$&-.0-2;=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})*)?)|[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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}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})*)?)|[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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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})*)?)|[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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2)|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2|(\[:{2}2|([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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})*)?)|[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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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})*)?)|[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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))2|([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))2)|(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2)|(\[:{2}2|([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2))|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2)|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2|(\[:{2}2|([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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})*)?)|[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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){5}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){5}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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)|(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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){2})|(\[:{2}2|([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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){2}))|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2)|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2|(\[:{2}2|([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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)|(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))2|([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))2)|(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2)|(\[:{2}2|([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2))|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2)|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2|(\[:{2}2|([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2)([A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-4]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|5((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-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-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(%[0-9A-Fa-f]{2}([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*:|\.(:|([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+:))(:|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=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]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:{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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:{2}|[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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|\[(([0-9A-Fa-f][0-9A-Fa-f]?:){6}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f][0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:)((:(\]|[0-9A-Fa-f]{1,2}\])|[A-Fa-f][0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|(:[0-9A-Fa-f]{3}|[A-Fa-f][0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?\]|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|(0\.|1(\.|[0-9]{1,2}\.)|[3-9][0-9]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|(0\.|1(\.|[0-9]{1,2}\.)|[3-9][0-9]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9](:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-4]((:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|5((:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[6-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-2;=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]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:{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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:{2}|[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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|\[(([0-9A-Fa-f][0-9A-Fa-f]?:){6}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f][0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:)((:(\]|[0-9A-Fa-f]{1,2}\])|[A-Fa-f][0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|(:[0-9A-Fa-f]{3}|[A-Fa-f][0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?\]|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|(0\.|1(\.|[0-9]{1,2}\.)|[3-9][0-9]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|(0\.|1(\.|[0-9]{1,2}\.)|[3-9][0-9]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9](:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-4]((:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|5((:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[6-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(\[:{2}2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=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})*)?)|[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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}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})*)?)|[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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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})*)?)|[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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2)|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2|(\[:{2}2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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})*)?)|[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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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})*)?)|[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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))2)|(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2)|(\[:{2}2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2))|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2)|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2|(\[:{2}2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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})*)?)|[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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){5}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){5}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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)|(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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){2})|(\[:{2}2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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){2}))|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2)|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2|(\[:{2}2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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)|(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))2)|(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2)|(\[:{2}2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2))|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2)|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2|(\[:{2}2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2)([A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-4]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|5((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-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-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|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]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:{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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:{2}|[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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|\[(([0-9A-Fa-f][0-9A-Fa-f]?:){6}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f][0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:)((:(\]|[0-9A-Fa-f]{1,2}\])|[A-Fa-f][0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|(:[0-9A-Fa-f]{3}|[A-Fa-f][0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?\]|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|(0\.|1(\.|[0-9]{1,2}\.)|[3-9][0-9]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|(0\.|1(\.|[0-9]{1,2}\.)|[3-9][0-9]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9](:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-4]((:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|5((:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[6-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|%[0-9A-Fa-f]{2}([!$&-.0-2;=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]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:{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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:{2}|[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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|\[(([0-9A-Fa-f][0-9A-Fa-f]?:){6}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f][0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:)((:(\]|[0-9A-Fa-f]{1,2}\])|[A-Fa-f][0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|(:[0-9A-Fa-f]{3}|[A-Fa-f][0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?\]|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|(0\.|1(\.|[0-9]{1,2}\.)|[3-9][0-9]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|(0\.|1(\.|[0-9]{1,2}\.)|[3-9][0-9]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9](:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-4]((:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|5((:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[6-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|%[0-9A-Fa-f]{2}([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|%[0-9A-Fa-f]{2}([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(\[:{2}2|%[0-9A-Fa-f]{2}([!$&-.0-2;=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})*)?)|[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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}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})*)?)|[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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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})*)?)|[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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|%[0-9A-Fa-f]{2}([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2)|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|%[0-9A-Fa-f]{2}([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2|(\[:{2}2|%[0-9A-Fa-f]{2}([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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})*)?)|[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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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})*)?)|[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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))2|%[0-9A-Fa-f]{2}([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))2)|(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|%[0-9A-Fa-f]{2}([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|%[0-9A-Fa-f]{2}([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2)|(\[:{2}2|%[0-9A-Fa-f]{2}([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2))|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|%[0-9A-Fa-f]{2}([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2)|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|%[0-9A-Fa-f]{2}([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2|(\[:{2}2|%[0-9A-Fa-f]{2}([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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})*)?)|[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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){5}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|%[0-9A-Fa-f]{2}([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){5}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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)|(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|%[0-9A-Fa-f]{2}([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|%[0-9A-Fa-f]{2}([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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){2})|(\[:{2}2|%[0-9A-Fa-f]{2}([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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){2}))|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|%[0-9A-Fa-f]{2}([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2)|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|%[0-9A-Fa-f]{2}([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2|(\[:{2}2|%[0-9A-Fa-f]{2}([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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)|(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))2|%[0-9A-Fa-f]{2}([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))2)|(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|%[0-9A-Fa-f]{2}([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|%[0-9A-Fa-f]{2}([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2)|(\[:{2}2|%[0-9A-Fa-f]{2}([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2))|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|%[0-9A-Fa-f]{2}([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2)|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|%[0-9A-Fa-f]{2}([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2|(\[:{2}2|%[0-9A-Fa-f]{2}([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2)([A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-4]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|5((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-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-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-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]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:{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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:{2}|[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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|\[(([0-9A-Fa-f][0-9A-Fa-f]?:){6}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f][0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:)((:(\]|[0-9A-Fa-f]{1,2}\])|[A-Fa-f][0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|(:[0-9A-Fa-f]{3}|[A-Fa-f][0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?\]|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|(0\.|1(\.|[0-9]{1,2}\.)|[3-9][0-9]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|(0\.|1(\.|[0-9]{1,2}\.)|[3-9][0-9]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9](:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-4]((:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|5((:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[6-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([!$&-.0-2;=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]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:{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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:{2}|[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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|\[(([0-9A-Fa-f][0-9A-Fa-f]?:){6}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f][0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:)((:(\]|[0-9A-Fa-f]{1,2}\])|[A-Fa-f][0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|(:[0-9A-Fa-f]{3}|[A-Fa-f][0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?\]|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|(0\.|1(\.|[0-9]{1,2}\.)|[3-9][0-9]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|(0\.|1(\.|[0-9]{1,2}\.)|[3-9][0-9]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9](:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-4]((:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|5((:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[6-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(\[:{2}2|([!$&-.0-2;=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})*)?)|[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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}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})*)?)|[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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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})*)?)|[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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2)|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2|(\[:{2}2|([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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})*)?)|[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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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})*)?)|[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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))2|([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))2)|(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2)|(\[:{2}2|([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2))|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2)|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2|(\[:{2}2|([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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})*)?)|[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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){5}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){5}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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)|(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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){2})|(\[:{2}2|([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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){2}))|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2)|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2|(\[:{2}2|([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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)|(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))2|([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))2)|(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2)|(\[:{2}2|([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2))|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2)|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2|(\[:{2}2|([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2)([A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-4]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|5((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-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-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|[0-9](|/([!$&-;=@-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]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:{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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:{2}|[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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|\[(([0-9A-Fa-f][0-9A-Fa-f]?:){6}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f][0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:)((:(\]|[0-9A-Fa-f]{1,2}\])|[A-Fa-f][0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|(:[0-9A-Fa-f]{3}|[A-Fa-f][0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?\]|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|(0\.|1(\.|[0-9]{1,2}\.)|[3-9][0-9]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|(0\.|1(\.|[0-9]{1,2}\.)|[3-9][0-9]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9](:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-4]((:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|5((:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[6-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([!$&-.0-2;=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]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:{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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:{2}|[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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|\[(([0-9A-Fa-f][0-9A-Fa-f]?:){6}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f][0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:)((:(\]|[0-9A-Fa-f]{1,2}\])|[A-Fa-f][0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|(:[0-9A-Fa-f]{3}|[A-Fa-f][0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?\]|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|(0\.|1(\.|[0-9]{1,2}\.)|[3-9][0-9]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|(0\.|1(\.|[0-9]{1,2}\.)|[3-9][0-9]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9](:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-4]((:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|5((:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[6-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(\[:{2}2|([!$&-.0-2;=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})*)?)|[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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}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})*)?)|[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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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})*)?)|[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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2)|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2|(\[:{2}2|([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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})*)?)|[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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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})*)?)|[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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))2|([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))2)|(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2)|(\[:{2}2|([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2))|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2)|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2|(\[:{2}2|([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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})*)?)|[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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){5}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){5}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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)|(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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){2})|(\[:{2}2|([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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){2}))|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2)|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2|(\[:{2}2|([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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)|(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))2|([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))2)|(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2)|(\[:{2}2|([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2))|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2)|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2|(\[:{2}2|([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2)([A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-4]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|5((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-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-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(%[0-9A-Fa-f]{2}([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*:|\.(:|([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+:)|[0-9]([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+:)(:|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=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]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:{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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:{2}|[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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|\[(([0-9A-Fa-f][0-9A-Fa-f]?:){6}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f][0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:)((:(\]|[0-9A-Fa-f]{1,2}\])|[A-Fa-f][0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|(:[0-9A-Fa-f]{3}|[A-Fa-f][0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?\]|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|(0\.|1(\.|[0-9]{1,2}\.)|[3-9][0-9]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|(0\.|1(\.|[0-9]{1,2}\.)|[3-9][0-9]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9](:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-4]((:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|5((:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[6-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-2;=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]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:{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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:{2}|[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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|\[(([0-9A-Fa-f][0-9A-Fa-f]?:){6}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f][0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:)((:(\]|[0-9A-Fa-f]{1,2}\])|[A-Fa-f][0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|(:[0-9A-Fa-f]{3}|[A-Fa-f][0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?\]|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|(0\.|1(\.|[0-9]{1,2}\.)|[3-9][0-9]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|(0\.|1(\.|[0-9]{1,2}\.)|[3-9][0-9]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9](:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-4]((:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|5((:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[6-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(\[:{2}2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=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})*)?)|[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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}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})*)?)|[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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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})*)?)|[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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2)|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2|(\[:{2}2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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})*)?)|[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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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})*)?)|[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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))2)|(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2)|(\[:{2}2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2))|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2)|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2|(\[:{2}2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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})*)?)|[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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){5}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){5}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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)|(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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){2})|(\[:{2}2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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){2}))|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2)|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2|(\[:{2}2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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)|(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))2)|(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2)|(\[:{2}2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2))|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2)|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2|(\[:{2}2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2)([A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-4]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|5((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-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-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|2?\.[3-9]([0-9]?(|/([!$&-;=@-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]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:{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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:{2}|[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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|\[(([0-9A-Fa-f][0-9A-Fa-f]?:){6}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f][0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:)((:(\]|[0-9A-Fa-f]{1,2}\])|[A-Fa-f][0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|(:[0-9A-Fa-f]{3}|[A-Fa-f][0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?\]|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|(0\.|1(\.|[0-9]{1,2}\.)|[3-9][0-9]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|(0\.|1(\.|[0-9]{1,2}\.)|[3-9][0-9]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9](:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-4]((:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|5((:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[6-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2}))([!$&-.0-2;=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]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:{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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:{2}|[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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|\[(([0-9A-Fa-f][0-9A-Fa-f]?:){6}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f][0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:)((:(\]|[0-9A-Fa-f]{1,2}\])|[A-Fa-f][0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|(:[0-9A-Fa-f]{3}|[A-Fa-f][0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?\]|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|(0\.|1(\.|[0-9]{1,2}\.)|[3-9][0-9]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|(0\.|1(\.|[0-9]{1,2}\.)|[3-9][0-9]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9](:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-4]((:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|5((:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[6-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([0-9]?(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2}|[0-9]([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2}))([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([0-9]?(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2}|[0-9]([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2}))([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([0-9]?\[:{2}2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2}|[0-9]([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2}))([!$&-.0-2;=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})*)?)|[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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}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})*)?)|[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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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})*)?)|[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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|([0-9]?(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2)|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2}|[0-9]([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2}))([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2)|([0-9]?(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2}|[0-9]([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2}))([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2|([0-9]?\[:{2}2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2}|[0-9]([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2}))([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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})*)?)|[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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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})*)?)|[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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([0-9]?(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))2)|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2}|[0-9]([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2}))([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))2)|([0-9]?(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2}|[0-9]([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2}))([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2|([0-9]?(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2}|[0-9]([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2}))([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2)|([0-9]?\[:{2}2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2}|[0-9]([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2}))([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2))|([0-9]?(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2)|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2}|[0-9]([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2}))([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2)|([0-9]?(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2}|[0-9]([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2}))([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2|([0-9]?\[:{2}2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2}|[0-9]([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2}))([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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})*)?)|[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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([0-9]?(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){5}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2}|[0-9]([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2}))([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){5}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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)|([0-9]?(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2}|[0-9]([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2}))([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|([0-9]?(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2}|[0-9]([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2}))([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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){2})|([0-9]?\[:{2}2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2}|[0-9]([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2}))([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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){2}))|([0-9]?(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2)|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2}|[0-9]([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2}))([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2)|([0-9]?(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2}|[0-9]([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2}))([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2|([0-9]?\[:{2}2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2}|[0-9]([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2}))([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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)|([0-9]?(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))2)|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2}|[0-9]([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2}))([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))2)|([0-9]?(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2}|[0-9]([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2}))([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2|([0-9]?(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2}|[0-9]([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2}))([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2)|([0-9]?\[:{2}2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2}|[0-9]([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2}))([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2))|([0-9]?(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2)|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2}|[0-9]([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2}))([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2)|([0-9]?(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2}|[0-9]([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2}))([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2|([0-9]?\[:{2}2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2}|[0-9]([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2}))([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2)([A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-4]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|5((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-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-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2}))([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*:(:|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=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]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:{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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:{2}|[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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|\[(([0-9A-Fa-f][0-9A-Fa-f]?:){6}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f][0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:)((:(\]|[0-9A-Fa-f]{1,2}\])|[A-Fa-f][0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|(:[0-9A-Fa-f]{3}|[A-Fa-f][0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?\]|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|(0\.|1(\.|[0-9]{1,2}\.)|[3-9][0-9]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|(0\.|1(\.|[0-9]{1,2}\.)|[3-9][0-9]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9](:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-4]((:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|5((:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[6-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-2;=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]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:{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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:{2}|[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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|\[(([0-9A-Fa-f][0-9A-Fa-f]?:){6}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f][0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:)((:(\]|[0-9A-Fa-f]{1,2}\])|[A-Fa-f][0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|(:[0-9A-Fa-f]{3}|[A-Fa-f][0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?\]|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|(0\.|1(\.|[0-9]{1,2}\.)|[3-9][0-9]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|(0\.|1(\.|[0-9]{1,2}\.)|[3-9][0-9]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9](:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-4]((:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|5((:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[6-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(\[:{2}2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=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})*)?)|[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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}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})*)?)|[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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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})*)?)|[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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2)|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2|(\[:{2}2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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})*)?)|[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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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})*)?)|[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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))2)|(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2)|(\[:{2}2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2))|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2)|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2|(\[:{2}2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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})*)?)|[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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){5}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){5}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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)|(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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){2})|(\[:{2}2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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){2}))|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2)|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2|(\[:{2}2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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)|(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))2)|(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2)|(\[:{2}2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2))|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2)|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2|(\[:{2}2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2)([A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-4]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|5((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-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-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|/{2}([0-1]|[3-9][0-:]|(:|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*:|[3-9]([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*:)(:|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*:)*[0-13-9]|2([!$&-\-0-13-5:-;=A-Z_a-z~]|(%[0-9A-Fa-f]{2}([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*:|\.(:|([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+:))(:|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*:)*[0-13-9]|2([!$&-\-:-;=A-Z_a-z~]|[0-9]:|(%[0-9A-Fa-f]{2}([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*:|\.(:|([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+:)|[0-9]([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+:)(:|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*:)*[0-13-9])|2?\.[3-9]([0-9]?:|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2}|[0-9]([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2}))([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*:(:|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*:)*[0-13-9])))*([3-9]?([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*[3-9]|(:|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*:|[3-9]([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*:)(:|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*:)*([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*[3-9]|2(%[0-9A-Fa-f]{2}([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*[3-9]|\.([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+[3-9]|(%[0-9A-Fa-f]{2}([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*:|\.(:|([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+:))(:|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*:)*([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*[3-9]|2(%[0-9A-Fa-f]{2}([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*[3-9]|\.([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+[3-9]|[0-9]([3-9]|([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+[3-9])|(%[0-9A-Fa-f]{2}([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*:|\.(:|([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+:)|[0-9]([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+:)(:|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*:)*([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*[3-9])|2?\.[3-9](([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2}|[0-9]([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2}))([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*[3-9]|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2}|[0-9]([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2}))([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*:(:|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*:)*([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*[3-9])))(([!$&-\-;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*[3-9]|[0-9]([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*[3-9]|\.([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+[3-9]|(:|([!$&-\-;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*:|[0-9]([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*:|\.(:|([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+:))(:|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*:)*([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*[3-9]|\.[3-9](([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2}|[0-9]([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2}))([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*[3-9]|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2}|[0-9]([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2}))([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*:(:|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*:)*([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*[3-9])|([0-9][0-:]|(:|([!$&-\-;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*:|[0-9]([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*:|\.(:|([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+:))(:|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*:)*[0-13-9]|\.[3-9]([0-9]?:|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2}|[0-9]([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2}))([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*:(:|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*:)*[0-13-9]))([0-1]|[3-9][0-:]|(:|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*:|[3-9]([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*:)(:|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*:)*[0-13-9]|2([!$&-\-0-13-5:-;=A-Z_a-z~]|(%[0-9A-Fa-f]{2}([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*:|\.(:|([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+:))(:|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*:)*[0-13-9]|2([!$&-\-:-;=A-Z_a-z~]|[0-9]:|(%[0-9A-Fa-f]{2}([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*:|\.(:|([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+:)|[0-9]([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+:)(:|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*:)*[0-13-9])|2?\.[3-9]([0-9]?:|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2}|[0-9]([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2}))([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*:(:|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*:)*[0-13-9])))*([3-9]?([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*[3-9]|(:|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*:|[3-9]([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*:)(:|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*:)*([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*[3-9]|2(%[0-9A-Fa-f]{2}([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*[3-9]|\.([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+[3-9]|(%[0-9A-Fa-f]{2}([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*:|\.(:|([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+:))(:|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*:)*([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*[3-9]|2(%[0-9A-Fa-f]{2}([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*[3-9]|\.([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+[3-9]|[0-9]([3-9]|([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+[3-9])|(%[0-9A-Fa-f]{2}([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*:|\.(:|([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+:)|[0-9]([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+:)(:|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*:)*([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*[3-9])|2?\.[3-9](([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2}|[0-9]([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2}))([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*[3-9]|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2}|[0-9]([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2}))([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*:(:|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*:)*([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*[3-9]))))*(|/([!$&-;=@-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]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:{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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:{2}|[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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|\[(([0-9A-Fa-f][0-9A-Fa-f]?:){6}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f][0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:)((:(\]|[0-9A-Fa-f]{1,2}\])|[A-Fa-f][0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|(:[0-9A-Fa-f]{3}|[A-Fa-f][0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?\]|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|(0\.|1(\.|[0-9]{1,2}\.)|[3-9][0-9]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|(0\.|1(\.|[0-9]{1,2}\.)|[3-9][0-9]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9](:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-4]((:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|5((:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[6-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-2;=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]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:{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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:{2}|[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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|\[(([0-9A-Fa-f][0-9A-Fa-f]?:){6}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f][0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:)((:(\]|[0-9A-Fa-f]{1,2}\])|[A-Fa-f][0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|(:[0-9A-Fa-f]{3}|[A-Fa-f][0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?\]|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|(0\.|1(\.|[0-9]{1,2}\.)|[3-9][0-9]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|(0\.|1(\.|[0-9]{1,2}\.)|[3-9][0-9]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9](:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-4]((:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|5((:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[6-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|[0-9](|/([!$&-;=@-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]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:{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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:{2}|[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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|\[(([0-9A-Fa-f][0-9A-Fa-f]?:){6}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f][0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:)((:(\]|[0-9A-Fa-f]{1,2}\])|[A-Fa-f][0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|(:[0-9A-Fa-f]{3}|[A-Fa-f][0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?\]|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|(0\.|1(\.|[0-9]{1,2}\.)|[3-9][0-9]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|(0\.|1(\.|[0-9]{1,2}\.)|[3-9][0-9]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9](:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-4]((:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|5((:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[6-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-2;=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]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:{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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:{2}|[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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|\[(([0-9A-Fa-f][0-9A-Fa-f]?:){6}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f][0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:)((:(\]|[0-9A-Fa-f]{1,2}\])|[A-Fa-f][0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|(:[0-9A-Fa-f]{3}|[A-Fa-f][0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?\]|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|(0\.|1(\.|[0-9]{1,2}\.)|[3-9][0-9]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|(0\.|1(\.|[0-9]{1,2}\.)|[3-9][0-9]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9](:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-4]((:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|5((:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[6-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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)|[0-9](\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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)|[0-9](\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(\[:{2}2|([!$&-\-;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[:{2}2|[0-9](\[:{2}2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=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})*)?)|[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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}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})*)?)|[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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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})*)?)|[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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|([!$&-\-;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2)|[0-9](\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2))|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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)|[0-9](\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2|(\[:{2}2|([!$&-\-;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[:{2}2|[0-9](\[:{2}2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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})*)?)|[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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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})*)?)|[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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))2|([!$&-\-;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))2)|[0-9](\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))2))|(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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)|[0-9](\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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)|[0-9](\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2)|(\[:{2}2|([!$&-\-;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[:{2}2|[0-9](\[:{2}2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2))|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|([!$&-\-;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2)|[0-9](\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2))|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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)|[0-9](\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2|(\[:{2}2|([!$&-\-;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[:{2}2|[0-9](\[:{2}2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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})*)?)|[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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){5}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){5}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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)|[0-9](\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){5}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){5}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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))|(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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)|[0-9](\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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)|[0-9](\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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){2})|(\[:{2}2|([!$&-\-;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[:{2}2|[0-9](\[:{2}2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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){2}))|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|([!$&-\-;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2)|[0-9](\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2))|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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)|[0-9](\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2|(\[:{2}2|([!$&-\-;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[:{2}2|[0-9](\[:{2}2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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)|(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))2|([!$&-\-;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))2)|[0-9](\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))2))|(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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)|[0-9](\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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)|[0-9](\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2)|(\[:{2}2|([!$&-\-;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[:{2}2|[0-9](\[:{2}2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2))|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|([!$&-\-;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2)|[0-9](\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2))|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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)|[0-9](\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2|(\[:{2}2|([!$&-\-;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[:{2}2|[0-9](\[:{2}2|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2)([A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-4]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|5((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-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-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-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]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:{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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:{2}|[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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|\[(([0-9A-Fa-f][0-9A-Fa-f]?:){6}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f][0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:)((:(\]|[0-9A-Fa-f]{1,2}\])|[A-Fa-f][0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|(:[0-9A-Fa-f]{3}|[A-Fa-f][0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?\]|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|(0\.|1(\.|[0-9]{1,2}\.)|[3-9][0-9]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|(0\.|1(\.|[0-9]{1,2}\.)|[3-9][0-9]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9](:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-4]((:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|5((:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[6-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([!$&-.0-2;=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]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:{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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:{2}|[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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{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})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|\[(([0-9A-Fa-f][0-9A-Fa-f]?:){6}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:)|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f][0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]?:[0-9A-Fa-f]{3}){2}))[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:)((:(\]|[0-9A-Fa-f]{1,2}\])|[A-Fa-f][0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|(:[0-9A-Fa-f]{3}|[A-Fa-f][0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?\]|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|(0\.|1(\.|[0-9]{1,2}\.)|[3-9][0-9]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|(0\.|1(\.|[0-9]{1,2}\.)|[3-9][0-9]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\])|[A-Fa-f]?:[0-9A-Fa-f]{3,4}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9](:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-4]((:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|5((:(:\]|[0-9A-Fa-f]{1,2}\])|:[0-9A-Fa-f]{3,4}\]|[6-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-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-9A-Fa-f]?:(:\]|[0-9A-Fa-f]{1,2}\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.)(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(\[:{2}2|([!$&-.0-2;=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})*)?)|[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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}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})*)?)|[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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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})*)?)|[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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2)|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2|(\[:{2}2|([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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})*)?)|[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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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})*)?)|[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})*)?))|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-5][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-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})*)?)|[A-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-9][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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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-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-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]((\]|:[0-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]?(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-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]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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-9A-Fa-f]{1,2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}(\]|:[0-9A-Fa-f]{1,2}\]|:[0-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\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\]|[3-9][0-9]?\]|1(\]|[0-9]{1,2}\]))(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|[3-9][0-9]?\.|1(\.|[0-9]{1,2}\.)|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))(0\.|1\.|([3-9]|1[0-9])[0-9]?\.|2([6-9]?\.|[0-4][0-9]?\.|5[0-5]?\.))2([6-9]?\]|[0-4][0-9]?\]|5[0-5]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))2|([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){4}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))2)|(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+(\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})2|\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|\[([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{1,2}:{2}|([0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2|(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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|([!$&-.0-2;=A-Z_a-z~]|%[0-9A-Fa-f]{2})+(\[([0-9A-Fa-f]{1,2}:{2}|[0-9A-Fa-f]{3,4}:{2})2|\[:{2}([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))2)|(\[:{2}2|([!$&-.0-2;=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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:))|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))){3}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][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}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:)|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:))([A-Fa-f][0-9A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{2,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](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-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