aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/mvdan.cc/xurls/v2
diff options
context:
space:
mode:
authortechknowlogick <techknowlogick@gitea.io>2022-01-14 18:16:05 -0500
committerGitHub <noreply@github.com>2022-01-14 18:16:05 -0500
commit84145e45c50130922fae9055535ab5ea0378e1d4 (patch)
treefce077a5ae462840bb876ace79aca42abab29ed7 /vendor/mvdan.cc/xurls/v2
parent2b16ca7c773de278ba01f122dc6f9f43d7534c52 (diff)
downloadgitea-84145e45c50130922fae9055535ab5ea0378e1d4.tar.gz
gitea-84145e45c50130922fae9055535ab5ea0378e1d4.zip
Remove golang vendored directory (#18277)
* rm go vendor * fix drone yaml * add to gitignore
Diffstat (limited to 'vendor/mvdan.cc/xurls/v2')
-rw-r--r--vendor/mvdan.cc/xurls/v2/.gitignore3
-rw-r--r--vendor/mvdan.cc/xurls/v2/LICENSE27
-rw-r--r--vendor/mvdan.cc/xurls/v2/README.md37
-rw-r--r--vendor/mvdan.cc/xurls/v2/go.mod8
-rw-r--r--vendor/mvdan.cc/xurls/v2/go.sum12
-rw-r--r--vendor/mvdan.cc/xurls/v2/schemes.go325
-rw-r--r--vendor/mvdan.cc/xurls/v2/tlds.go1536
-rw-r--r--vendor/mvdan.cc/xurls/v2/tlds_pseudo.go24
-rw-r--r--vendor/mvdan.cc/xurls/v2/xurls.go109
9 files changed, 0 insertions, 2081 deletions
diff --git a/vendor/mvdan.cc/xurls/v2/.gitignore b/vendor/mvdan.cc/xurls/v2/.gitignore
deleted file mode 100644
index 663c8cb54c..0000000000
--- a/vendor/mvdan.cc/xurls/v2/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-cmd/xurls/xurls
-generate/tldsgen/tldsgen
-generate/regexgen/regexgen
diff --git a/vendor/mvdan.cc/xurls/v2/LICENSE b/vendor/mvdan.cc/xurls/v2/LICENSE
deleted file mode 100644
index 7d71d51a5e..0000000000
--- a/vendor/mvdan.cc/xurls/v2/LICENSE
+++ /dev/null
@@ -1,27 +0,0 @@
-Copyright (c) 2015, Daniel Martí. All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-
- * Redistributions of source code must retain the above copyright
-notice, this list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the following disclaimer
-in the documentation and/or other materials provided with the
-distribution.
- * Neither the name of the copyright holder nor the names of its
-contributors may be used to endorse or promote products derived from
-this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/vendor/mvdan.cc/xurls/v2/README.md b/vendor/mvdan.cc/xurls/v2/README.md
deleted file mode 100644
index 5035ced138..0000000000
--- a/vendor/mvdan.cc/xurls/v2/README.md
+++ /dev/null
@@ -1,37 +0,0 @@
-# xurls
-
-[![GoDoc](https://godoc.org/mvdan.cc/xurls?status.svg)](https://godoc.org/mvdan.cc/xurls)
-
-Extract urls from text using regular expressions. Requires Go 1.13 or later.
-
-```go
-import "mvdan.cc/xurls/v2"
-
-func main() {
- rxRelaxed := xurls.Relaxed()
- rxRelaxed.FindString("Do gophers live in golang.org?") // "golang.org"
- rxRelaxed.FindString("This string does not have a URL") // ""
-
- rxStrict := xurls.Strict()
- rxStrict.FindAllString("must have scheme: http://foo.com/.", -1) // []string{"http://foo.com/"}
- rxStrict.FindAllString("no scheme, no match: foo.com", -1) // []string{}
-}
-```
-
-Since API is centered around [regexp.Regexp](https://golang.org/pkg/regexp/#Regexp),
-many other methods are available, such as finding the [byte indexes](https://golang.org/pkg/regexp/#Regexp.FindAllIndex)
-for all matches.
-
-Note that calling the exposed functions means compiling a regular expression, so
-repeated calls should be avoided.
-
-#### cmd/xurls
-
-To install the tool globally:
-
- cd $(mktemp -d); go mod init tmp; GO111MODULE=on go get mvdan.cc/xurls/v2/cmd/xurls
-
-```shell
-$ echo "Do gophers live in http://golang.org?" | xurls
-http://golang.org
-```
diff --git a/vendor/mvdan.cc/xurls/v2/go.mod b/vendor/mvdan.cc/xurls/v2/go.mod
deleted file mode 100644
index 593ffd508b..0000000000
--- a/vendor/mvdan.cc/xurls/v2/go.mod
+++ /dev/null
@@ -1,8 +0,0 @@
-module mvdan.cc/xurls/v2
-
-go 1.14
-
-require (
- github.com/rogpeppe/go-internal v1.5.2
- gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 // indirect
-)
diff --git a/vendor/mvdan.cc/xurls/v2/go.sum b/vendor/mvdan.cc/xurls/v2/go.sum
deleted file mode 100644
index f1ca78e8c3..0000000000
--- a/vendor/mvdan.cc/xurls/v2/go.sum
+++ /dev/null
@@ -1,12 +0,0 @@
-github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
-github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
-github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
-github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
-github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
-github.com/rogpeppe/go-internal v1.5.2 h1:qLvObTrvO/XRCqmkKxUlOBc48bI3efyDuAZe25QiF0w=
-github.com/rogpeppe/go-internal v1.5.2/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc=
-gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
-gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo=
-gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
-gopkg.in/errgo.v2 v2.1.0 h1:0vLT13EuvQ0hNvakwLuFZ/jYrLp5F3kcWHXdRggjCE8=
-gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
diff --git a/vendor/mvdan.cc/xurls/v2/schemes.go b/vendor/mvdan.cc/xurls/v2/schemes.go
deleted file mode 100644
index 8fae334175..0000000000
--- a/vendor/mvdan.cc/xurls/v2/schemes.go
+++ /dev/null
@@ -1,325 +0,0 @@
-// Generated by schemesgen
-
-package xurls
-
-// Schemes is a sorted list of all IANA assigned schemes.
-//
-// Source:
-// https://www.iana.org/assignments/uri-schemes/uri-schemes-1.csv
-var Schemes = []string{
- `aaa`,
- `aaas`,
- `about`,
- `acap`,
- `acct`,
- `acd`,
- `acr`,
- `adiumxtra`,
- `adt`,
- `afp`,
- `afs`,
- `aim`,
- `amss`,
- `android`,
- `appdata`,
- `apt`,
- `ark`,
- `attachment`,
- `aw`,
- `barion`,
- `beshare`,
- `bitcoin`,
- `bitcoincash`,
- `blob`,
- `bolo`,
- `browserext`,
- `calculator`,
- `callto`,
- `cap`,
- `cast`,
- `casts`,
- `chrome`,
- `chrome-extension`,
- `cid`,
- `coap`,
- `coap+tcp`,
- `coap+ws`,
- `coaps`,
- `coaps+tcp`,
- `coaps+ws`,
- `com-eventbrite-attendee`,
- `content`,
- `conti`,
- `crid`,
- `cvs`,
- `dab`,
- `data`,
- `dav`,
- `diaspora`,
- `dict`,
- `did`,
- `dis`,
- `dlna-playcontainer`,
- `dlna-playsingle`,
- `dns`,
- `dntp`,
- `dpp`,
- `drm`,
- `drop`,
- `dtmi`,
- `dtn`,
- `dvb`,
- `ed2k`,
- `elsi`,
- `example`,
- `facetime`,
- `fax`,
- `feed`,
- `feedready`,
- `file`,
- `filesystem`,
- `finger`,
- `first-run-pen-experience`,
- `fish`,
- `fm`,
- `ftp`,
- `fuchsia-pkg`,
- `geo`,
- `gg`,
- `git`,
- `gizmoproject`,
- `go`,
- `gopher`,
- `graph`,
- `gtalk`,
- `h323`,
- `ham`,
- `hcap`,
- `hcp`,
- `http`,
- `https`,
- `hxxp`,
- `hxxps`,
- `hydrazone`,
- `iax`,
- `icap`,
- `icon`,
- `im`,
- `imap`,
- `info`,
- `iotdisco`,
- `ipn`,
- `ipp`,
- `ipps`,
- `irc`,
- `irc6`,
- `ircs`,
- `iris`,
- `iris.beep`,
- `iris.lwz`,
- `iris.xpc`,
- `iris.xpcs`,
- `isostore`,
- `itms`,
- `jabber`,
- `jar`,
- `jms`,
- `keyparc`,
- `lastfm`,
- `ldap`,
- `ldaps`,
- `leaptofrogans`,
- `lorawan`,
- `lvlt`,
- `magnet`,
- `mailserver`,
- `mailto`,
- `maps`,
- `market`,
- `message`,
- `microsoft.windows.camera`,
- `microsoft.windows.camera.multipicker`,
- `microsoft.windows.camera.picker`,
- `mid`,
- `mms`,
- `modem`,
- `mongodb`,
- `moz`,
- `ms-access`,
- `ms-browser-extension`,
- `ms-calculator`,
- `ms-drive-to`,
- `ms-enrollment`,
- `ms-excel`,
- `ms-eyecontrolspeech`,
- `ms-gamebarservices`,
- `ms-gamingoverlay`,
- `ms-getoffice`,
- `ms-help`,
- `ms-infopath`,
- `ms-inputapp`,
- `ms-lockscreencomponent-config`,
- `ms-media-stream-id`,
- `ms-mixedrealitycapture`,
- `ms-mobileplans`,
- `ms-officeapp`,
- `ms-people`,
- `ms-project`,
- `ms-powerpoint`,
- `ms-publisher`,
- `ms-restoretabcompanion`,
- `ms-screenclip`,
- `ms-screensketch`,
- `ms-search`,
- `ms-search-repair`,
- `ms-secondary-screen-controller`,
- `ms-secondary-screen-setup`,
- `ms-settings`,
- `ms-settings-airplanemode`,
- `ms-settings-bluetooth`,
- `ms-settings-camera`,
- `ms-settings-cellular`,
- `ms-settings-cloudstorage`,
- `ms-settings-connectabledevices`,
- `ms-settings-displays-topology`,
- `ms-settings-emailandaccounts`,
- `ms-settings-language`,
- `ms-settings-location`,
- `ms-settings-lock`,
- `ms-settings-nfctransactions`,
- `ms-settings-notifications`,
- `ms-settings-power`,
- `ms-settings-privacy`,
- `ms-settings-proximity`,
- `ms-settings-screenrotation`,
- `ms-settings-wifi`,
- `ms-settings-workplace`,
- `ms-spd`,
- `ms-sttoverlay`,
- `ms-transit-to`,
- `ms-useractivityset`,
- `ms-virtualtouchpad`,
- `ms-visio`,
- `ms-walk-to`,
- `ms-whiteboard`,
- `ms-whiteboard-cmd`,
- `ms-word`,
- `msnim`,
- `msrp`,
- `msrps`,
- `mss`,
- `mtqp`,
- `mumble`,
- `mupdate`,
- `mvn`,
- `news`,
- `nfs`,
- `ni`,
- `nih`,
- `nntp`,
- `notes`,
- `ocf`,
- `oid`,
- `onenote`,
- `onenote-cmd`,
- `opaquelocktoken`,
- `openpgp4fpr`,
- `pack`,
- `palm`,
- `paparazzi`,
- `payment`,
- `payto`,
- `pkcs11`,
- `platform`,
- `pop`,
- `pres`,
- `prospero`,
- `proxy`,
- `pwid`,
- `psyc`,
- `pttp`,
- `qb`,
- `query`,
- `quic-transport`,
- `redis`,
- `rediss`,
- `reload`,
- `res`,
- `resource`,
- `rmi`,
- `rsync`,
- `rtmfp`,
- `rtmp`,
- `rtsp`,
- `rtsps`,
- `rtspu`,
- `secondlife`,
- `service`,
- `session`,
- `sftp`,
- `sgn`,
- `shttp`,
- `sieve`,
- `simpleledger`,
- `sip`,
- `sips`,
- `skype`,
- `smb`,
- `sms`,
- `smtp`,
- `snews`,
- `snmp`,
- `soap.beep`,
- `soap.beeps`,
- `soldat`,
- `spiffe`,
- `spotify`,
- `ssh`,
- `steam`,
- `stun`,
- `stuns`,
- `submit`,
- `svn`,
- `tag`,
- `teamspeak`,
- `tel`,
- `teliaeid`,
- `telnet`,
- `tftp`,
- `things`,
- `thismessage`,
- `tip`,
- `tn3270`,
- `tool`,
- `turn`,
- `turns`,
- `tv`,
- `udp`,
- `unreal`,
- `urn`,
- `ut2004`,
- `v-event`,
- `vemmi`,
- `ventrilo`,
- `videotex`,
- `vnc`,
- `view-source`,
- `wais`,
- `webcal`,
- `wpid`,
- `ws`,
- `wss`,
- `wtai`,
- `wyciwyg`,
- `xcon`,
- `xcon-userid`,
- `xfire`,
- `xmlrpc.beep`,
- `xmlrpc.beeps`,
- `xmpp`,
- `xri`,
- `ymsgr`,
- `z39.50`,
- `z39.50r`,
- `z39.50s`,
-}
diff --git a/vendor/mvdan.cc/xurls/v2/tlds.go b/vendor/mvdan.cc/xurls/v2/tlds.go
deleted file mode 100644
index 2daa29e896..0000000000
--- a/vendor/mvdan.cc/xurls/v2/tlds.go
+++ /dev/null
@@ -1,1536 +0,0 @@
-// Generated by tldsgen
-
-package xurls
-
-// TLDs is a sorted list of all public top-level domains.
-//
-// Sources:
-// * https://data.iana.org/TLD/tlds-alpha-by-domain.txt
-// * https://publicsuffix.org/list/effective_tld_names.dat
-var TLDs = []string{
- `aaa`,
- `aarp`,
- `abarth`,
- `abb`,
- `abbott`,
- `abbvie`,
- `abc`,
- `able`,
- `abogado`,
- `abudhabi`,
- `ac`,
- `academy`,
- `accenture`,
- `accountant`,
- `accountants`,
- `aco`,
- `actor`,
- `ad`,
- `adac`,
- `ads`,
- `adult`,
- `ae`,
- `aeg`,
- `aero`,
- `aetna`,
- `af`,
- `afamilycompany`,
- `afl`,
- `africa`,
- `ag`,
- `agakhan`,
- `agency`,
- `ai`,
- `aig`,
- `aigo`,
- `airbus`,
- `airforce`,
- `airtel`,
- `akdn`,
- `al`,
- `alfaromeo`,
- `alibaba`,
- `alipay`,
- `allfinanz`,
- `allstate`,
- `ally`,
- `alsace`,
- `alstom`,
- `am`,
- `amazon`,
- `americanexpress`,
- `americanfamily`,
- `amex`,
- `amfam`,
- `amica`,
- `amsterdam`,
- `analytics`,
- `android`,
- `anquan`,
- `anz`,
- `ao`,
- `aol`,
- `apartments`,
- `app`,
- `apple`,
- `aq`,
- `aquarelle`,
- `ar`,
- `arab`,
- `aramco`,
- `archi`,
- `army`,
- `arpa`,
- `art`,
- `arte`,
- `as`,
- `asda`,
- `asia`,
- `associates`,
- `at`,
- `athleta`,
- `attorney`,
- `au`,
- `auction`,
- `audi`,
- `audible`,
- `audio`,
- `auspost`,
- `author`,
- `auto`,
- `autos`,
- `avianca`,
- `aw`,
- `aws`,
- `ax`,
- `axa`,
- `az`,
- `azure`,
- `ba`,
- `baby`,
- `baidu`,
- `banamex`,
- `bananarepublic`,
- `band`,
- `bank`,
- `bar`,
- `barcelona`,
- `barclaycard`,
- `barclays`,
- `barefoot`,
- `bargains`,
- `baseball`,
- `basketball`,
- `bauhaus`,
- `bayern`,
- `bb`,
- `bbc`,
- `bbt`,
- `bbva`,
- `bcg`,
- `bcn`,
- `bd`,
- `be`,
- `beats`,
- `beauty`,
- `beer`,
- `bentley`,
- `berlin`,
- `best`,
- `bestbuy`,
- `bet`,
- `bf`,
- `bg`,
- `bh`,
- `bharti`,
- `bi`,
- `bible`,
- `bid`,
- `bike`,
- `bing`,
- `bingo`,
- `bio`,
- `biz`,
- `bj`,
- `black`,
- `blackfriday`,
- `blockbuster`,
- `blog`,
- `bloomberg`,
- `blue`,
- `bm`,
- `bms`,
- `bmw`,
- `bn`,
- `bnpparibas`,
- `bo`,
- `boats`,
- `boehringer`,
- `bofa`,
- `bom`,
- `bond`,
- `boo`,
- `book`,
- `booking`,
- `bosch`,
- `bostik`,
- `boston`,
- `bot`,
- `boutique`,
- `box`,
- `br`,
- `bradesco`,
- `bridgestone`,
- `broadway`,
- `broker`,
- `brother`,
- `brussels`,
- `bs`,
- `bt`,
- `budapest`,
- `bugatti`,
- `build`,
- `builders`,
- `business`,
- `buy`,
- `buzz`,
- `bv`,
- `bw`,
- `by`,
- `bz`,
- `bzh`,
- `ca`,
- `cab`,
- `cafe`,
- `cal`,
- `call`,
- `calvinklein`,
- `cam`,
- `camera`,
- `camp`,
- `cancerresearch`,
- `canon`,
- `capetown`,
- `capital`,
- `capitalone`,
- `car`,
- `caravan`,
- `cards`,
- `care`,
- `career`,
- `careers`,
- `cars`,
- `casa`,
- `case`,
- `caseih`,
- `cash`,
- `casino`,
- `cat`,
- `catering`,
- `catholic`,
- `cba`,
- `cbn`,
- `cbre`,
- `cbs`,
- `cc`,
- `cd`,
- `ceb`,
- `center`,
- `ceo`,
- `cern`,
- `cf`,
- `cfa`,
- `cfd`,
- `cg`,
- `ch`,
- `chanel`,
- `channel`,
- `charity`,
- `chase`,
- `chat`,
- `cheap`,
- `chintai`,
- `christmas`,
- `chrome`,
- `church`,
- `ci`,
- `cipriani`,
- `circle`,
- `cisco`,
- `citadel`,
- `citi`,
- `citic`,
- `city`,
- `cityeats`,
- `ck`,
- `cl`,
- `claims`,
- `cleaning`,
- `click`,
- `clinic`,
- `clinique`,
- `clothing`,
- `cloud`,
- `club`,
- `clubmed`,
- `cm`,
- `cn`,
- `co`,
- `coach`,
- `codes`,
- `coffee`,
- `college`,
- `cologne`,
- `com`,
- `comcast`,
- `commbank`,
- `community`,
- `company`,
- `compare`,
- `computer`,
- `comsec`,
- `condos`,
- `construction`,
- `consulting`,
- `contact`,
- `contractors`,
- `cooking`,
- `cookingchannel`,
- `cool`,
- `coop`,
- `corsica`,
- `country`,
- `coupon`,
- `coupons`,
- `courses`,
- `cpa`,
- `cr`,
- `credit`,
- `creditcard`,
- `creditunion`,
- `cricket`,
- `crown`,
- `crs`,
- `cruise`,
- `cruises`,
- `csc`,
- `cu`,
- `cuisinella`,
- `cv`,
- `cw`,
- `cx`,
- `cy`,
- `cymru`,
- `cyou`,
- `cz`,
- `dabur`,
- `dad`,
- `dance`,
- `data`,
- `date`,
- `dating`,
- `datsun`,
- `day`,
- `dclk`,
- `dds`,
- `de`,
- `deal`,
- `dealer`,
- `deals`,
- `degree`,
- `delivery`,
- `dell`,
- `deloitte`,
- `delta`,
- `democrat`,
- `dental`,
- `dentist`,
- `desi`,
- `design`,
- `dev`,
- `dhl`,
- `diamonds`,
- `diet`,
- `digital`,
- `direct`,
- `directory`,
- `discount`,
- `discover`,
- `dish`,
- `diy`,
- `dj`,
- `dk`,
- `dm`,
- `dnp`,
- `do`,
- `docs`,
- `doctor`,
- `dog`,
- `domains`,
- `dot`,
- `download`,
- `drive`,
- `dtv`,
- `dubai`,
- `duck`,
- `dunlop`,
- `dupont`,
- `durban`,
- `dvag`,
- `dvr`,
- `dz`,
- `earth`,
- `eat`,
- `ec`,
- `eco`,
- `edeka`,
- `edu`,
- `education`,
- `ee`,
- `eg`,
- `email`,
- `emerck`,
- `energy`,
- `engineer`,
- `engineering`,
- `enterprises`,
- `epson`,
- `equipment`,
- `er`,
- `ericsson`,
- `erni`,
- `es`,
- `esq`,
- `estate`,
- `esurance`,
- `et`,
- `etisalat`,
- `eu`,
- `eurovision`,
- `eus`,
- `events`,
- `exchange`,
- `expert`,
- `exposed`,
- `express`,
- `extraspace`,
- `fage`,
- `fail`,
- `fairwinds`,
- `faith`,
- `family`,
- `fan`,
- `fans`,
- `farm`,
- `farmers`,
- `fashion`,
- `fast`,
- `fedex`,
- `feedback`,
- `ferrari`,
- `ferrero`,
- `fi`,
- `fiat`,
- `fidelity`,
- `fido`,
- `film`,
- `final`,
- `finance`,
- `financial`,
- `fire`,
- `firestone`,
- `firmdale`,
- `fish`,
- `fishing`,
- `fit`,
- `fitness`,
- `fj`,
- `fk`,
- `flickr`,
- `flights`,
- `flir`,
- `florist`,
- `flowers`,
- `fly`,
- `fm`,
- `fo`,
- `foo`,
- `food`,
- `foodnetwork`,
- `football`,
- `ford`,
- `forex`,
- `forsale`,
- `forum`,
- `foundation`,
- `fox`,
- `fr`,
- `free`,
- `fresenius`,
- `frl`,
- `frogans`,
- `frontdoor`,
- `frontier`,
- `ftr`,
- `fujitsu`,
- `fujixerox`,
- `fun`,
- `fund`,
- `furniture`,
- `futbol`,
- `fyi`,
- `ga`,
- `gal`,
- `gallery`,
- `gallo`,
- `gallup`,
- `game`,
- `games`,
- `gap`,
- `garden`,
- `gay`,
- `gb`,
- `gbiz`,
- `gd`,
- `gdn`,
- `ge`,
- `gea`,
- `gent`,
- `genting`,
- `george`,
- `gf`,
- `gg`,
- `ggee`,
- `gh`,
- `gi`,
- `gift`,
- `gifts`,
- `gives`,
- `giving`,
- `gl`,
- `glade`,
- `glass`,
- `gle`,
- `global`,
- `globo`,
- `gm`,
- `gmail`,
- `gmbh`,
- `gmo`,
- `gmx`,
- `gn`,
- `godaddy`,
- `gold`,
- `goldpoint`,
- `golf`,
- `goo`,
- `goodyear`,
- `goog`,
- `google`,
- `gop`,
- `got`,
- `gov`,
- `gp`,
- `gq`,
- `gr`,
- `grainger`,
- `graphics`,
- `gratis`,
- `green`,
- `gripe`,
- `grocery`,
- `group`,
- `gs`,
- `gt`,
- `gu`,
- `guardian`,
- `gucci`,
- `guge`,
- `guide`,
- `guitars`,
- `guru`,
- `gw`,
- `gy`,
- `hair`,
- `hamburg`,
- `hangout`,
- `haus`,
- `hbo`,
- `hdfc`,
- `hdfcbank`,
- `health`,
- `healthcare`,
- `help`,
- `helsinki`,
- `here`,
- `hermes`,
- `hgtv`,
- `hiphop`,
- `hisamitsu`,
- `hitachi`,
- `hiv`,
- `hk`,
- `hkt`,
- `hm`,
- `hn`,
- `hockey`,
- `holdings`,
- `holiday`,
- `homedepot`,
- `homegoods`,
- `homes`,
- `homesense`,
- `honda`,
- `horse`,
- `hospital`,
- `host`,
- `hosting`,
- `hot`,
- `hoteles`,
- `hotels`,
- `hotmail`,
- `house`,
- `how`,
- `hr`,
- `hsbc`,
- `ht`,
- `hu`,
- `hughes`,
- `hyatt`,
- `hyundai`,
- `ibm`,
- `icbc`,
- `ice`,
- `icu`,
- `id`,
- `ie`,
- `ieee`,
- `ifm`,
- `ikano`,
- `il`,
- `im`,
- `imamat`,
- `imdb`,
- `immo`,
- `immobilien`,
- `in`,
- `inc`,
- `industries`,
- `infiniti`,
- `info`,
- `ing`,
- `ink`,
- `institute`,
- `insurance`,
- `insure`,
- `int`,
- `intel`,
- `international`,
- `intuit`,
- `investments`,
- `io`,
- `ipiranga`,
- `iq`,
- `ir`,
- `irish`,
- `is`,
- `ismaili`,
- `ist`,
- `istanbul`,
- `it`,
- `itau`,
- `itv`,
- `iveco`,
- `jaguar`,
- `java`,
- `jcb`,
- `jcp`,
- `je`,
- `jeep`,
- `jetzt`,
- `jewelry`,
- `jio`,
- `jll`,
- `jm`,
- `jmp`,
- `jnj`,
- `jo`,
- `jobs`,
- `joburg`,
- `jot`,
- `joy`,
- `jp`,
- `jpmorgan`,
- `jprs`,
- `juegos`,
- `juniper`,
- `kaufen`,
- `kddi`,
- `ke`,
- `kerryhotels`,
- `kerrylogistics`,
- `kerryproperties`,
- `kfh`,
- `kg`,
- `kh`,
- `ki`,
- `kia`,
- `kim`,
- `kinder`,
- `kindle`,
- `kitchen`,
- `kiwi`,
- `km`,
- `kn`,
- `koeln`,
- `komatsu`,
- `kosher`,
- `kp`,
- `kpmg`,
- `kpn`,
- `kr`,
- `krd`,
- `kred`,
- `kuokgroup`,
- `kw`,
- `ky`,
- `kyoto`,
- `kz`,
- `la`,
- `lacaixa`,
- `lamborghini`,
- `lamer`,
- `lancaster`,
- `lancia`,
- `land`,
- `landrover`,
- `lanxess`,
- `lasalle`,
- `lat`,
- `latino`,
- `latrobe`,
- `law`,
- `lawyer`,
- `lb`,
- `lc`,
- `lds`,
- `lease`,
- `leclerc`,
- `lefrak`,
- `legal`,
- `lego`,
- `lexus`,
- `lgbt`,
- `li`,
- `lidl`,
- `life`,
- `lifeinsurance`,
- `lifestyle`,
- `lighting`,
- `like`,
- `lilly`,
- `limited`,
- `limo`,
- `lincoln`,
- `linde`,
- `link`,
- `lipsy`,
- `live`,
- `living`,
- `lixil`,
- `lk`,
- `llc`,
- `llp`,
- `loan`,
- `loans`,
- `locker`,
- `locus`,
- `loft`,
- `lol`,
- `london`,
- `lotte`,
- `lotto`,
- `love`,
- `lpl`,
- `lplfinancial`,
- `lr`,
- `ls`,
- `lt`,
- `ltd`,
- `ltda`,
- `lu`,
- `lundbeck`,
- `lupin`,
- `luxe`,
- `luxury`,
- `lv`,
- `ly`,
- `ma`,
- `macys`,
- `madrid`,
- `maif`,
- `maison`,
- `makeup`,
- `man`,
- `management`,
- `mango`,
- `map`,
- `market`,
- `marketing`,
- `markets`,
- `marriott`,
- `marshalls`,
- `maserati`,
- `mattel`,
- `mba`,
- `mc`,
- `mckinsey`,
- `md`,
- `me`,
- `med`,
- `media`,
- `meet`,
- `melbourne`,
- `meme`,
- `memorial`,
- `men`,
- `menu`,
- `merckmsd`,
- `metlife`,
- `mg`,
- `mh`,
- `miami`,
- `microsoft`,
- `mil`,
- `mini`,
- `mint`,
- `mit`,
- `mitsubishi`,
- `mk`,
- `ml`,
- `mlb`,
- `mls`,
- `mm`,
- `mma`,
- `mn`,
- `mo`,
- `mobi`,
- `mobile`,
- `moda`,
- `moe`,
- `moi`,
- `mom`,
- `monash`,
- `money`,
- `monster`,
- `mormon`,
- `mortgage`,
- `moscow`,
- `moto`,
- `motorcycles`,
- `mov`,
- `movie`,
- `mp`,
- `mq`,
- `mr`,
- `ms`,
- `msd`,
- `mt`,
- `mtn`,
- `mtr`,
- `mu`,
- `museum`,
- `mutual`,
- `mv`,
- `mw`,
- `mx`,
- `my`,
- `mz`,
- `na`,
- `nab`,
- `nagoya`,
- `name`,
- `nationwide`,
- `natura`,
- `navy`,
- `nba`,
- `nc`,
- `ne`,
- `nec`,
- `net`,
- `netbank`,
- `netflix`,
- `network`,
- `neustar`,
- `new`,
- `newholland`,
- `news`,
- `next`,
- `nextdirect`,
- `nexus`,
- `nf`,
- `nfl`,
- `ng`,
- `ngo`,
- `nhk`,
- `ni`,
- `nico`,
- `nike`,
- `nikon`,
- `ninja`,
- `nissan`,
- `nissay`,
- `nl`,
- `no`,
- `nokia`,
- `northwesternmutual`,
- `norton`,
- `now`,
- `nowruz`,
- `nowtv`,
- `np`,
- `nr`,
- `nra`,
- `nrw`,
- `ntt`,
- `nu`,
- `nyc`,
- `nz`,
- `obi`,
- `observer`,
- `off`,
- `office`,
- `okinawa`,
- `olayan`,
- `olayangroup`,
- `oldnavy`,
- `ollo`,
- `om`,
- `omega`,
- `one`,
- `ong`,
- `onion`,
- `onl`,
- `online`,
- `onyourside`,
- `ooo`,
- `open`,
- `oracle`,
- `orange`,
- `org`,
- `organic`,
- `origins`,
- `osaka`,
- `otsuka`,
- `ott`,
- `ovh`,
- `pa`,
- `page`,
- `panasonic`,
- `paris`,
- `pars`,
- `partners`,
- `parts`,
- `party`,
- `passagens`,
- `pay`,
- `pccw`,
- `pe`,
- `pet`,
- `pf`,
- `pfizer`,
- `pg`,
- `ph`,
- `pharmacy`,
- `phd`,
- `philips`,
- `phone`,
- `photo`,
- `photography`,
- `photos`,
- `physio`,
- `pics`,
- `pictet`,
- `pictures`,
- `pid`,
- `pin`,
- `ping`,
- `pink`,
- `pioneer`,
- `pizza`,
- `pk`,
- `pl`,
- `place`,
- `play`,
- `playstation`,
- `plumbing`,
- `plus`,
- `pm`,
- `pn`,
- `pnc`,
- `pohl`,
- `poker`,
- `politie`,
- `porn`,
- `post`,
- `pr`,
- `pramerica`,
- `praxi`,
- `press`,
- `prime`,
- `pro`,
- `prod`,
- `productions`,
- `prof`,
- `progressive`,
- `promo`,
- `properties`,
- `property`,
- `protection`,
- `pru`,
- `prudential`,
- `ps`,
- `pt`,
- `pub`,
- `pw`,
- `pwc`,
- `py`,
- `qa`,
- `qpon`,
- `quebec`,
- `quest`,
- `qvc`,
- `racing`,
- `radio`,
- `raid`,
- `re`,
- `read`,
- `realestate`,
- `realtor`,
- `realty`,
- `recipes`,
- `red`,
- `redstone`,
- `redumbrella`,
- `rehab`,
- `reise`,
- `reisen`,
- `reit`,
- `reliance`,
- `ren`,
- `rent`,
- `rentals`,
- `repair`,
- `report`,
- `republican`,
- `rest`,
- `restaurant`,
- `review`,
- `reviews`,
- `rexroth`,
- `rich`,
- `richardli`,
- `ricoh`,
- `rightathome`,
- `ril`,
- `rio`,
- `rip`,
- `rmit`,
- `ro`,
- `rocher`,
- `rocks`,
- `rodeo`,
- `rogers`,
- `room`,
- `rs`,
- `rsvp`,
- `ru`,
- `rugby`,
- `ruhr`,
- `run`,
- `rw`,
- `rwe`,
- `ryukyu`,
- `sa`,
- `saarland`,
- `safe`,
- `safety`,
- `sakura`,
- `sale`,
- `salon`,
- `samsclub`,
- `samsung`,
- `sandvik`,
- `sandvikcoromant`,
- `sanofi`,
- `sap`,
- `sarl`,
- `sas`,
- `save`,
- `saxo`,
- `sb`,
- `sbi`,
- `sbs`,
- `sc`,
- `sca`,
- `scb`,
- `schaeffler`,
- `schmidt`,
- `scholarships`,
- `school`,
- `schule`,
- `schwarz`,
- `science`,
- `scjohnson`,
- `scor`,
- `scot`,
- `sd`,
- `se`,
- `search`,
- `seat`,
- `secure`,
- `security`,
- `seek`,
- `select`,
- `sener`,
- `services`,
- `ses`,
- `seven`,
- `sew`,
- `sex`,
- `sexy`,
- `sfr`,
- `sg`,
- `sh`,
- `shangrila`,
- `sharp`,
- `shaw`,
- `shell`,
- `shia`,
- `shiksha`,
- `shoes`,
- `shop`,
- `shopping`,
- `shouji`,
- `show`,
- `showtime`,
- `shriram`,
- `si`,
- `silk`,
- `sina`,
- `singles`,
- `site`,
- `sj`,
- `sk`,
- `ski`,
- `skin`,
- `sky`,
- `skype`,
- `sl`,
- `sling`,
- `sm`,
- `smart`,
- `smile`,
- `sn`,
- `sncf`,
- `so`,
- `soccer`,
- `social`,
- `softbank`,
- `software`,
- `sohu`,
- `solar`,
- `solutions`,
- `song`,
- `sony`,
- `soy`,
- `spa`,
- `space`,
- `sport`,
- `spot`,
- `spreadbetting`,
- `sr`,
- `srl`,
- `ss`,
- `st`,
- `stada`,
- `staples`,
- `star`,
- `statebank`,
- `statefarm`,
- `stc`,
- `stcgroup`,
- `stockholm`,
- `storage`,
- `store`,
- `stream`,
- `studio`,
- `study`,
- `style`,
- `su`,
- `sucks`,
- `supplies`,
- `supply`,
- `support`,
- `surf`,
- `surgery`,
- `suzuki`,
- `sv`,
- `swatch`,
- `swiftcover`,
- `swiss`,
- `sx`,
- `sy`,
- `sydney`,
- `symantec`,
- `systems`,
- `sz`,
- `tab`,
- `taipei`,
- `talk`,
- `taobao`,
- `target`,
- `tatamotors`,
- `tatar`,
- `tattoo`,
- `tax`,
- `taxi`,
- `tc`,
- `tci`,
- `td`,
- `tdk`,
- `team`,
- `tech`,
- `technology`,
- `tel`,
- `temasek`,
- `tennis`,
- `teva`,
- `tf`,
- `tg`,
- `th`,
- `thd`,
- `theater`,
- `theatre`,
- `tiaa`,
- `tickets`,
- `tienda`,
- `tiffany`,
- `tips`,
- `tires`,
- `tirol`,
- `tj`,
- `tjmaxx`,
- `tjx`,
- `tk`,
- `tkmaxx`,
- `tl`,
- `tm`,
- `tmall`,
- `tn`,
- `to`,
- `today`,
- `tokyo`,
- `tools`,
- `top`,
- `toray`,
- `toshiba`,
- `total`,
- `tours`,
- `town`,
- `toyota`,
- `toys`,
- `tr`,
- `trade`,
- `trading`,
- `training`,
- `travel`,
- `travelchannel`,
- `travelers`,
- `travelersinsurance`,
- `trust`,
- `trv`,
- `tt`,
- `tube`,
- `tui`,
- `tunes`,
- `tushu`,
- `tv`,
- `tvs`,
- `tw`,
- `tz`,
- `ua`,
- `ubank`,
- `ubs`,
- `ug`,
- `uk`,
- `unicom`,
- `university`,
- `uno`,
- `uol`,
- `ups`,
- `us`,
- `uy`,
- `uz`,
- `va`,
- `vacations`,
- `vana`,
- `vanguard`,
- `vc`,
- `ve`,
- `vegas`,
- `ventures`,
- `verisign`,
- `vermögensberater`,
- `vermögensberatung`,
- `versicherung`,
- `vet`,
- `vg`,
- `vi`,
- `viajes`,
- `video`,
- `vig`,
- `viking`,
- `villas`,
- `vin`,
- `vip`,
- `virgin`,
- `visa`,
- `vision`,
- `viva`,
- `vivo`,
- `vlaanderen`,
- `vn`,
- `vodka`,
- `volkswagen`,
- `volvo`,
- `vote`,
- `voting`,
- `voto`,
- `voyage`,
- `vu`,
- `vuelos`,
- `wales`,
- `walmart`,
- `walter`,
- `wang`,
- `wanggou`,
- `watch`,
- `watches`,
- `weather`,
- `weatherchannel`,
- `webcam`,
- `weber`,
- `website`,
- `wed`,
- `wedding`,
- `weibo`,
- `weir`,
- `wf`,
- `whoswho`,
- `wien`,
- `wiki`,
- `williamhill`,
- `win`,
- `windows`,
- `wine`,
- `winners`,
- `wme`,
- `wolterskluwer`,
- `woodside`,
- `work`,
- `works`,
- `world`,
- `wow`,
- `ws`,
- `wtc`,
- `wtf`,
- `xbox`,
- `xerox`,
- `xfinity`,
- `xihuan`,
- `xin`,
- `xxx`,
- `xyz`,
- `yachts`,
- `yahoo`,
- `yamaxun`,
- `yandex`,
- `ye`,
- `yodobashi`,
- `yoga`,
- `yokohama`,
- `you`,
- `youtube`,
- `yt`,
- `yun`,
- `za`,
- `zappos`,
- `zara`,
- `zero`,
- `zip`,
- `zm`,
- `zone`,
- `zuerich`,
- `zw`,
- `ελ`,
- `ευ`,
- `бг`,
- `бел`,
- `дети`,
- `ею`,
- `католик`,
- `ком`,
- `мкд`,
- `мон`,
- `москва`,
- `онлайн`,
- `орг`,
- `рус`,
- `рф`,
- `сайт`,
- `срб`,
- `укр`,
- `қаз`,
- `հայ`,
- `קום`,
- `ابوظبي`,
- `اتصالات`,
- `ارامكو`,
- `الاردن`,
- `الجزائر`,
- `السعودية`,
- `السعوديه`,
- `السعودیة`,
- `السعودیۃ`,
- `العليان`,
- `المغرب`,
- `اليمن`,
- `امارات`,
- `ايران`,
- `ایران`,
- `بارت`,
- `بازار`,
- `بيتك`,
- `بھارت`,
- `تونس`,
- `سودان`,
- `سوريا`,
- `سورية`,
- `شبكة`,
- `عراق`,
- `عرب`,
- `عمان`,
- `فلسطين`,
- `قطر`,
- `كاثوليك`,
- `كوم`,
- `مصر`,
- `مليسيا`,
- `موريتانيا`,
- `موقع`,
- `همراه`,
- `پاكستان`,
- `پاکستان`,
- `ڀارت`,
- `कॉम`,
- `नेट`,
- `भारत`,
- `भारतम्`,
- `भारोत`,
- `संगठन`,
- `বাংলা`,
- `ভারত`,
- `ভাৰত`,
- `ਭਾਰਤ`,
- `ભારત`,
- `ଭାରତ`,
- `இந்தியா`,
- `இலங்கை`,
- `சிங்கப்பூர்`,
- `భారత్`,
- `ಭಾರತ`,
- `ഭാരതം`,
- `ලංකා`,
- `คอม`,
- `ไทย`,
- `გე`,
- `みんな`,
- `アマゾン`,
- `クラウド`,
- `グーグル`,
- `コム`,
- `ストア`,
- `セール`,
- `ファッション`,
- `ポイント`,
- `世界`,
- `中信`,
- `中国`,
- `中國`,
- `中文网`,
- `亚马逊`,
- `企业`,
- `佛山`,
- `信息`,
- `健康`,
- `八卦`,
- `公司`,
- `公益`,
- `台湾`,
- `台灣`,
- `商城`,
- `商店`,
- `商标`,
- `嘉里`,
- `嘉里大酒店`,
- `在线`,
- `大众汽车`,
- `大拿`,
- `天主教`,
- `娱乐`,
- `家電`,
- `广东`,
- `微博`,
- `慈善`,
- `我爱你`,
- `手机`,
- `手表`,
- `招聘`,
- `政务`,
- `政府`,
- `新加坡`,
- `新闻`,
- `时尚`,
- `書籍`,
- `机构`,
- `淡马锡`,
- `游戏`,
- `澳門`,
- `澳门`,
- `点看`,
- `珠宝`,
- `移动`,
- `组织机构`,
- `网址`,
- `网店`,
- `网站`,
- `网络`,
- `联通`,
- `臺灣`,
- `诺基亚`,
- `谷歌`,
- `购物`,
- `通販`,
- `集团`,
- `電訊盈科`,
- `飞利浦`,
- `食品`,
- `餐厅`,
- `香格里拉`,
- `香港`,
- `닷넷`,
- `닷컴`,
- `삼성`,
- `한국`,
-}
diff --git a/vendor/mvdan.cc/xurls/v2/tlds_pseudo.go b/vendor/mvdan.cc/xurls/v2/tlds_pseudo.go
deleted file mode 100644
index 94c67d15b0..0000000000
--- a/vendor/mvdan.cc/xurls/v2/tlds_pseudo.go
+++ /dev/null
@@ -1,24 +0,0 @@
-// Copyright (c) 2015, Daniel Martí <mvdan@mvdan.cc>
-// See LICENSE for licensing information
-
-package xurls
-
-// PseudoTLDs is a sorted list of some widely used unofficial TLDs.
-//
-// Sources:
-// * https://en.wikipedia.org/wiki/Pseudo-top-level_domain
-// * https://en.wikipedia.org/wiki/Category:Pseudo-top-level_domains
-// * https://tools.ietf.org/html/draft-grothoff-iesg-special-use-p2p-names-00
-// * https://www.iana.org/assignments/special-use-domain-names/special-use-domain-names.xhtml
-var PseudoTLDs = []string{
- `bit`, // Namecoin
- `example`, // Example domain
- `exit`, // Tor exit node
- `gnu`, // GNS by public key
- `i2p`, // I2P network
- `invalid`, // Invalid domain
- `local`, // Local network
- `localhost`, // Local network
- `test`, // Test domain
- `zkey`, // GNS domain name
-}
diff --git a/vendor/mvdan.cc/xurls/v2/xurls.go b/vendor/mvdan.cc/xurls/v2/xurls.go
deleted file mode 100644
index d4462535da..0000000000
--- a/vendor/mvdan.cc/xurls/v2/xurls.go
+++ /dev/null
@@ -1,109 +0,0 @@
-// Copyright (c) 2015, Daniel Martí <mvdan@mvdan.cc>
-// See LICENSE for licensing information
-
-// Package xurls extracts urls from plain text using regular expressions.
-package xurls
-
-import (
- "bytes"
- "regexp"
-)
-
-//go:generate go run generate/tldsgen/main.go
-//go:generate go run generate/schemesgen/main.go
-
-const (
- letter = `\p{L}`
- mark = `\p{M}`
- number = `\p{N}`
- iriChar = letter + mark + number
- currency = `\p{Sc}`
- otherSymb = `\p{So}`
- endChar = iriChar + `/\-_+&~%=#` + currency + otherSymb
- otherPunc = `\p{Po}`
- midChar = endChar + "_*" + otherPunc
- wellParen = `\([` + midChar + `]*(\([` + midChar + `]*\)[` + midChar + `]*)*\)`
- wellBrack = `\[[` + midChar + `]*(\[[` + midChar + `]*\][` + midChar + `]*)*\]`
- wellBrace = `\{[` + midChar + `]*(\{[` + midChar + `]*\}[` + midChar + `]*)*\}`
- wellAll = wellParen + `|` + wellBrack + `|` + wellBrace
- pathCont = `([` + midChar + `]*(` + wellAll + `|[` + endChar + `])+)+`
-
- iri = `[` + iriChar + `]([` + iriChar + `\-]*[` + iriChar + `])?`
- domain = `(` + iri + `\.)+`
- octet = `(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])`
- ipv4Addr = `\b` + octet + `\.` + octet + `\.` + octet + `\.` + octet + `\b`
- ipv6Addr = `([0-9a-fA-F]{1,4}:([0-9a-fA-F]{1,4}:([0-9a-fA-F]{1,4}:([0-9a-fA-F]{1,4}:([0-9a-fA-F]{1,4}:[0-9a-fA-F]{0,4}|:[0-9a-fA-F]{1,4})?|(:[0-9a-fA-F]{1,4}){0,2})|(:[0-9a-fA-F]{1,4}){0,3})|(:[0-9a-fA-F]{1,4}){0,4})|:(:[0-9a-fA-F]{1,4}){0,5})((:[0-9a-fA-F]{1,4}){2}|:(25[0-5]|(2[0-4]|1[0-9]|[1-9])?[0-9])(\.(25[0-5]|(2[0-4]|1[0-9]|[1-9])?[0-9])){3})|(([0-9a-fA-F]{1,4}:){1,6}|:):[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){7}:`
- ipAddr = `(` + ipv4Addr + `|` + ipv6Addr + `)`
- port = `(:[0-9]*)?`
-)
-
-// AnyScheme can be passed to StrictMatchingScheme to match any possibly valid
-// scheme, and not just the known ones.
-var AnyScheme = `([a-zA-Z][a-zA-Z.\-+]*://|` + anyOf(SchemesNoAuthority...) + `:)`
-
-// SchemesNoAuthority is a sorted list of some well-known url schemes that are
-// followed by ":" instead of "://".
-var SchemesNoAuthority = []string{
- `bitcoin`, // Bitcoin
- `file`, // Files
- `magnet`, // Torrent magnets
- `mailto`, // Mail
- `sms`, // SMS
- `tel`, // Telephone
- `xmpp`, // XMPP
-}
-
-func anyOf(strs ...string) string {
- var b bytes.Buffer
- b.WriteByte('(')
- for i, s := range strs {
- if i != 0 {
- b.WriteByte('|')
- }
- b.WriteString(regexp.QuoteMeta(s))
- }
- b.WriteByte(')')
- return b.String()
-}
-
-func strictExp() string {
- schemes := `(` + anyOf(Schemes...) + `://|` + anyOf(SchemesNoAuthority...) + `:)`
- return `(?i)` + schemes + `(?-i)` + pathCont
-}
-
-func relaxedExp() string {
- punycode := `xn--[a-z0-9-]+`
- knownTLDs := anyOf(append(TLDs, PseudoTLDs...)...)
- site := domain + `(?i)(` + punycode + `|` + knownTLDs + `)(?-i)`
- hostName := `(` + site + `|` + ipAddr + `)`
- webURL := hostName + port + `(/|/` + pathCont + `)?`
- return strictExp() + `|` + webURL
-}
-
-// Strict produces a regexp that matches any URL with a scheme in either the
-// Schemes or SchemesNoAuthority lists.
-func Strict() *regexp.Regexp {
- re := regexp.MustCompile(strictExp())
- re.Longest()
- return re
-}
-
-// Relaxed produces a regexp that matches any URL matched by Strict, plus any
-// URL with no scheme.
-func Relaxed() *regexp.Regexp {
- re := regexp.MustCompile(relaxedExp())
- re.Longest()
- return re
-}
-
-// StrictMatchingScheme produces a regexp similar to Strict, but requiring that
-// the scheme match the given regular expression. See AnyScheme too.
-func StrictMatchingScheme(exp string) (*regexp.Regexp, error) {
- strictMatching := `(?i)(` + exp + `)(?-i)` + pathCont
- re, err := regexp.Compile(strictMatching)
- if err != nil {
- return nil, err
- }
- re.Longest()
- return re, nil
-}