diff --git a/_data/aws-images.csv b/_data/aws-images.csv
new file mode 100644
index 0000000..cadcdc0
--- /dev/null
+++ b/_data/aws-images.csv
@@ -0,0 +1,50 @@
+"Version","Region","Architecture","AMI ID","Deploy link"
+"CentOS 8","us-east-1","x86_64","ami-01ca03df4a6012157","https://console.aws.amazon.com/ec2/v2/home?region=us-east-1#LaunchInstanceWizard:ami=ami-01ca03df4a6012157"
+"CentOS 8","us-east-1","x86_64","ami-01ca03df4a6012157","https://console.aws.amazon.com/ec2/v2/home?region=us-east-1#LaunchInstanceWizard:ami=ami-01ca03df4a6012157"
+"CentOS 8","us-east-1","x86_64","ami-01ca03df4a6012157","https://console.aws.amazon.com/ec2/v2/home?region=us-east-1#LaunchInstanceWizard:ami=ami-01ca03df4a6012157"
+"CentOS 8","us-east-1","x86_64","ami-01ca03df4a6012157","https://console.aws.amazon.com/ec2/v2/home?region=us-east-1#LaunchInstanceWizard:ami=ami-01ca03df4a6012157"
+"CentOS 8","us-east-1","x86_64","ami-01ca03df4a6012157","https://console.aws.amazon.com/ec2/v2/home?region=us-east-1#LaunchInstanceWizard:ami=ami-01ca03df4a6012157"
+"CentOS 8","us-east-1","x86_64","ami-01ca03df4a6012157","https://console.aws.amazon.com/ec2/v2/home?region=us-east-1#LaunchInstanceWizard:ami=ami-01ca03df4a6012157"
+"CentOS 8","us-east-1","x86_64","ami-01ca03df4a6012157","https://console.aws.amazon.com/ec2/v2/home?region=us-east-1#LaunchInstanceWizard:ami=ami-01ca03df4a6012157"
+"CentOS 8","us-east-1","x86_64","ami-01ca03df4a6012157","https://console.aws.amazon.com/ec2/v2/home?region=us-east-1#LaunchInstanceWizard:ami=ami-01ca03df4a6012157"
+"CentOS 8","us-east-1","x86_64","ami-01ca03df4a6012157","https://console.aws.amazon.com/ec2/v2/home?region=us-east-1#LaunchInstanceWizard:ami=ami-01ca03df4a6012157"
+"CentOS 8","us-east-1","x86_64","ami-01ca03df4a6012157","https://console.aws.amazon.com/ec2/v2/home?region=us-east-1#LaunchInstanceWizard:ami=ami-01ca03df4a6012157"
+"CentOS 8","us-east-1","x86_64","ami-01ca03df4a6012157","https://console.aws.amazon.com/ec2/v2/home?region=us-east-1#LaunchInstanceWizard:ami=ami-01ca03df4a6012157"
+"CentOS 8","us-east-1","x86_64","ami-01ca03df4a6012157","https://console.aws.amazon.com/ec2/v2/home?region=us-east-1#LaunchInstanceWizard:ami=ami-01ca03df4a6012157"
+"CentOS 8","us-east-1","x86_64","ami-01ca03df4a6012157","https://console.aws.amazon.com/ec2/v2/home?region=us-east-1#LaunchInstanceWizard:ami=ami-01ca03df4a6012157"
+"CentOS 8","us-east-1","x86_64","ami-01ca03df4a6012157","https://console.aws.amazon.com/ec2/v2/home?region=us-east-1#LaunchInstanceWizard:ami=ami-01ca03df4a6012157"
+"CentOS 8","us-east-1","x86_64","ami-01ca03df4a6012157","https://console.aws.amazon.com/ec2/v2/home?region=us-east-1#LaunchInstanceWizard:ami=ami-01ca03df4a6012157"
+"CentOS 8","us-east-1","x86_64","ami-01ca03df4a6012157","https://console.aws.amazon.com/ec2/v2/home?region=us-east-1#LaunchInstanceWizard:ami=ami-01ca03df4a6012157"
+"CentOS 8","us-east-1","x86_64","ami-01ca03df4a6012157","https://console.aws.amazon.com/ec2/v2/home?region=us-east-1#LaunchInstanceWizard:ami=ami-01ca03df4a6012157"
+"CentOS 8","us-east-1","x86_64","ami-01ca03df4a6012157","https://console.aws.amazon.com/ec2/v2/home?region=us-east-1#LaunchInstanceWizard:ami=ami-01ca03df4a6012157"
+"CentOS 8","us-east-1","x86_64","ami-01ca03df4a6012157","https://console.aws.amazon.com/ec2/v2/home?region=us-east-1#LaunchInstanceWizard:ami=ami-01ca03df4a6012157"
+"CentOS 8","us-east-1","x86_64","ami-01ca03df4a6012157","https://console.aws.amazon.com/ec2/v2/home?region=us-east-1#LaunchInstanceWizard:ami=ami-01ca03df4a6012157"
+"CentOS 8","us-east-1","x86_64","ami-01ca03df4a6012157","https://console.aws.amazon.com/ec2/v2/home?region=us-east-1#LaunchInstanceWizard:ami=ami-01ca03df4a6012157"
+"CentOS 8","us-east-1","x86_64","ami-01ca03df4a6012157","https://console.aws.amazon.com/ec2/v2/home?region=us-east-1#LaunchInstanceWizard:ami=ami-01ca03df4a6012157"
+"CentOS 8","us-east-1","x86_64","ami-01ca03df4a6012157","https://console.aws.amazon.com/ec2/v2/home?region=us-east-1#LaunchInstanceWizard:ami=ami-01ca03df4a6012157"
+"CentOS 8","us-east-1","x86_64","ami-01ca03df4a6012157","https://console.aws.amazon.com/ec2/v2/home?region=us-east-1#LaunchInstanceWizard:ami=ami-01ca03df4a6012157"
+"CentOS 8","us-east-1","x86_64","ami-01ca03df4a6012157","https://console.aws.amazon.com/ec2/v2/home?region=us-east-1#LaunchInstanceWizard:ami=ami-01ca03df4a6012157"
+"CentOS 8","us-east-1","x86_64","ami-01ca03df4a6012157","https://console.aws.amazon.com/ec2/v2/home?region=us-east-1#LaunchInstanceWizard:ami=ami-01ca03df4a6012157"
+"CentOS 8","us-east-1","x86_64","ami-01ca03df4a6012157","https://console.aws.amazon.com/ec2/v2/home?region=us-east-1#LaunchInstanceWizard:ami=ami-01ca03df4a6012157"
+"CentOS 8","us-east-1","x86_64","ami-01ca03df4a6012157","https://console.aws.amazon.com/ec2/v2/home?region=us-east-1#LaunchInstanceWizard:ami=ami-01ca03df4a6012157"
+"CentOS 8","us-east-1","x86_64","ami-01ca03df4a6012157","https://console.aws.amazon.com/ec2/v2/home?region=us-east-1#LaunchInstanceWizard:ami=ami-01ca03df4a6012157"
+"CentOS 8","us-east-1","x86_64","ami-01ca03df4a6012157","https://console.aws.amazon.com/ec2/v2/home?region=us-east-1#LaunchInstanceWizard:ami=ami-01ca03df4a6012157"
+"CentOS 8","us-east-1","x86_64","ami-01ca03df4a6012157","https://console.aws.amazon.com/ec2/v2/home?region=us-east-1#LaunchInstanceWizard:ami=ami-01ca03df4a6012157"
+"CentOS 8","us-east-1","x86_64","ami-01ca03df4a6012157","https://console.aws.amazon.com/ec2/v2/home?region=us-east-1#LaunchInstanceWizard:ami=ami-01ca03df4a6012157"
+"CentOS 8","us-east-1","x86_64","ami-01ca03df4a6012157","https://console.aws.amazon.com/ec2/v2/home?region=us-east-1#LaunchInstanceWizard:ami=ami-01ca03df4a6012157"
+"CentOS 8","us-east-1","x86_64","ami-01ca03df4a6012157","https://console.aws.amazon.com/ec2/v2/home?region=us-east-1#LaunchInstanceWizard:ami=ami-01ca03df4a6012157"
+"CentOS 8","us-east-1","x86_64","ami-01ca03df4a6012157","https://console.aws.amazon.com/ec2/v2/home?region=us-east-1#LaunchInstanceWizard:ami=ami-01ca03df4a6012157"
+"CentOS 8","us-east-1","x86_64","ami-01ca03df4a6012157","https://console.aws.amazon.com/ec2/v2/home?region=us-east-1#LaunchInstanceWizard:ami=ami-01ca03df4a6012157"
+"CentOS 8","us-east-1","x86_64","ami-01ca03df4a6012157","https://console.aws.amazon.com/ec2/v2/home?region=us-east-1#LaunchInstanceWizard:ami=ami-01ca03df4a6012157"
+"CentOS 8","us-east-1","x86_64","ami-01ca03df4a6012157","https://console.aws.amazon.com/ec2/v2/home?region=us-east-1#LaunchInstanceWizard:ami=ami-01ca03df4a6012157"
+"CentOS 8","us-east-1","x86_64","ami-01ca03df4a6012157","https://console.aws.amazon.com/ec2/v2/home?region=us-east-1#LaunchInstanceWizard:ami=ami-01ca03df4a6012157"
+"CentOS 8","us-east-1","x86_64","ami-01ca03df4a6012157","https://console.aws.amazon.com/ec2/v2/home?region=us-east-1#LaunchInstanceWizard:ami=ami-01ca03df4a6012157"
+"CentOS 8","us-east-1","x86_64","ami-01ca03df4a6012157","https://console.aws.amazon.com/ec2/v2/home?region=us-east-1#LaunchInstanceWizard:ami=ami-01ca03df4a6012157"
+"CentOS 8","us-east-1","x86_64","ami-01ca03df4a6012157","https://console.aws.amazon.com/ec2/v2/home?region=us-east-1#LaunchInstanceWizard:ami=ami-01ca03df4a6012157"
+"CentOS 8","us-east-1","x86_64","ami-01ca03df4a6012157","https://console.aws.amazon.com/ec2/v2/home?region=us-east-1#LaunchInstanceWizard:ami=ami-01ca03df4a6012157"
+"CentOS 8","us-east-1","x86_64","ami-01ca03df4a6012157","https://console.aws.amazon.com/ec2/v2/home?region=us-east-1#LaunchInstanceWizard:ami=ami-01ca03df4a6012157"
+"CentOS 8","us-east-1","x86_64","ami-01ca03df4a6012157","https://console.aws.amazon.com/ec2/v2/home?region=us-east-1#LaunchInstanceWizard:ami=ami-01ca03df4a6012157"
+"CentOS 8","us-east-1","x86_64","ami-01ca03df4a6012157","https://console.aws.amazon.com/ec2/v2/home?region=us-east-1#LaunchInstanceWizard:ami=ami-01ca03df4a6012157"
+"CentOS 8","us-east-1","x86_64","ami-01ca03df4a6012157","https://console.aws.amazon.com/ec2/v2/home?region=us-east-1#LaunchInstanceWizard:ami=ami-01ca03df4a6012157"
+"CentOS 8","us-east-1","x86_64","ami-01ca03df4a6012157","https://console.aws.amazon.com/ec2/v2/home?region=us-east-1#LaunchInstanceWizard:ami=ami-01ca03df4a6012157"
+"CentOS 8","us-east-1","x86_64","ami-01ca03df4a6012157","https://console.aws.amazon.com/ec2/v2/home?region=us-east-1#LaunchInstanceWizard:ami=ami-01ca03df4a6012157"
diff --git a/_data/full-altarchlist.csv b/_data/full-altarchlist.csv
new file mode 100644
index 0000000..8cc6e7c
--- /dev/null
+++ b/_data/full-altarchlist.csv
@@ -0,0 +1,14 @@
+"Region","Country","Sponsor","Sponsor URL","HTTP Location","FTP Location","RSYNC Location"
+"Asia","Japan","Yamagata University","http://www.yamagata-u.ac.jp/","http://ftp.yz.yamagata-u.ac.jp/pub/linux/centos-altarch/","","rsync://ftp.yz.yamagata-u.ac.jp/pub/linux/centos-altarch/"
+"EU","France"," Babylon Network","https://babylon.network/","http://fr.mirror.babylon.network/centos-altarch/","ftp://fr.mirror.babylon.network/centos-altarch/","rsync://fr.mirror.babylon.network/centos-altarch/"
+"EU","Germany","University of Applied Sciences Esslingen 2","http://www.hs-esslingen.de/","http://mirror1.hs-esslingen.de/pub/Mirrors/centos-altarch/","","rsync://mirror1.hs-esslingen.de/centos-altarch/"
+"EU","Germany","Yannic Bonenberger","https://www.yannic-bonenberger.com/","http://mirror.yannic-bonenberger.com/centos-altarch/","",""
+"EU","Netherlands"," Babylon Network","https://babylon.network/","http://nl.mirror.babylon.network/centos-altarch/","ftp://nl.mirror.babylon.network/centos-altarch/","rsync://nl.mirror.babylon.network/centos-altarch/"
+"EU","Spain","AireNetworks ","http://www.airenetworks.es/","http://mirror.airenetworks.es/CentOS-AltArch/","ftp://mirror.airenetworks.es/CentOS-AltArch/","rsync://mirror.airenetworks.es/CentOS-AltArch/"
+"EU","United Kingdom","Coreix","http://www.coreix.net/","http://mirrors.coreix.net/centos-altarch/","","rsync://rsync.mirrors.coreix.net/centos-altarch/"
+"EU","United Kingdom","Freethought Internet","https://www.freethought-internet.co.uk/","http://mirror.freethought-internet.co.uk/centos-altarch/","ftp://mirror.freethought-internet.co.uk/centos-altarch/","rsync://mirror.freethought-internet.co.uk/centos-altarch/"
+"US","","Oregon State University","http://osuosl.org/","http://ftp.osuosl.org/pub/centos-altarch/","ftp://ftp.osuosl.org/pub/centos-altarch/","rsync://rsync.osuosl.org/centos-altarch/"
+"US","CA","Open Computing Facility","https://www.ocf.berkeley.edu/","http://mirrors.ocf.berkeley.edu/centos-altarch/","ftp://mirrors.ocf.berkeley.edu/centos-altarch/","rsync://mirrors.ocf.berkeley.edu/centos-altarch/"
+"US","GA","Virtual World Technologies","http://www.vwtonline.com","http://centos.vwtonline.net/centos-altarch/","",""
+"US","NJ","Princeton University Department of Mathematics","http://www.math.princeton.edu/","http://mirror.math.princeton.edu/pub/centos-altarch/","","rsync://mirror.math.princeton.edu/pub/centos-altarch/"
+"US","UT","University of Utah","http://www.chpc.utah.edu/","http://mirror.chpc.utah.edu/pub/centos-altarch/","","rsync://mirror.chpc.utah.edu/pub/centos-altarch/"
diff --git a/_data/full-mirrorlist.csv b/_data/full-mirrorlist.csv
new file mode 100644
index 0000000..19ba422
--- /dev/null
+++ b/_data/full-mirrorlist.csv
@@ -0,0 +1,484 @@
+"Location","Region","Sponsor","HTTP Location","HTTPS Location","FTP Location","RSYNC Location"
+"Africa","Egypt","CityNet Host Data Center Egypt","http://www.citynethost.com/","http://mirror.citynethost.com/centos/","",""
+"Africa","South Africa","Internet Solutions","http://www.is.co.za/","http://ftp.is.co.za/mirror/centos/","ftp://ftp.is.co.za/mirror/centos/","rsync://ftp.is.co.za/mirror/centos/"
+"Africa","South Africa","JSDAAV ZA Telecoms (Pty) Ltd","http://www.jsdaav.com/","http://dl.za.jsdaav.net/mirror/CentOS/","ftp://dl.za.jsdaav.net/mirror/CentOS/","rsync://dl.za.jsdaav.net/mirror/CentOS/"
+"Africa","South Africa","Telkom SA","http://www.telkom.co.za","http://www.ftp.saix.net/pub/linux/distributions/centos/","ftp://ftp.saix.net/pub/linux/distributions/centos/",""
+"Africa","South Africa ","University of the Free State","http://www.ufs.ac.za/","http://mirror.ufs.ac.za/centos/","ftp://mirror.ufs.ac.za/os/linux/distros/centos/","rsync://mirror.ufs.ac.za/centos/"
+"Africa","Tanzania","Aptus Solutions","http://www.aptus.co.tz/","http://mirror.aptus.co.tz/pub/centos/","",""
+"Africa","Uganda","Uganda Christian University","http://www.ucu.ac.ug/","http://mirror.ucu.ac.ug/centos/","",""
+"Asia","Bangladesh","dhakaCom Limited","http://www.dhakacom.com/","http://mirror.dhakacom.com/centos/","ftp://mirror.dhakacom.com/centos/",""
+"Asia","Bangladesh","IS Pros Ltd.","http://www.ispros.com.bd/","http://mirrors.ispros.com.bd/centos/","ftp://mirrors.ispros.com.bd/centos/","rsync://mirrors.ispros.com.bd/CentOS/"
+"Asia","China","Beijing Institute of Technology","http://www.bit.edu.cn/","http://mirror.bit.edu.cn/centos/","",""
+"Asia","China","Beijing Teletron Telecom Engineering","http://www.btte.com.cn","http://mirrors.btte.net/centos/","",""
+"Asia","China","CDS China","http://www.yun-idc.com/","http://mirrors.yun-idc.com/centos/","ftp://mirrors.yun-idc.com/centos/","rsync://mirrors.yun-idc.com/centos/"
+"Asia","China","Dalian Neusoft University of Information","http://www.neusoft.edu.cn/","http://mirrors.neusoft.edu.cn/centos/","ftp://mirrors.neusoft.edu.cn/centos/",""
+"Asia","China","esocc","http://www.esocc.com/","http://mirror.esocc.com/centos/","",""
+"Asia","China","Grand Cloud","http://www.grandcloud.cn/","http://mirrors.grandcloud.cn/centos/","",""
+"Asia","China","Huazhong University of Science and Technology","http://www.hust.edu.cn/","http://mirrors.hust.edu.cn/centos/","","rsync://mirrors.hust.edu.cn/centos/"
+"Asia","China","NetEase","http://www.163.com/","http://mirrors.163.com/centos/","",""
+"Asia","China","Northeastern University, Shenyang Liaoni","http://www.neu.edu.cn/","http://mirror.neu.edu.cn/centos/","",""
+"Asia","China","Qiming College of Huazhong University of Science and Technology","","http://mirrors.hustunique.com/centos/","","rsync://mirrors.hustunique.com/centos/"
+"Asia","China","Sohu Inc, Beijing P.R. China","http://www.sohu.com/","http://mirrors.sohu.com/centos/","",""
+"Asia","China","Star Studio of UESTC","http://www.uestc.edu.cn/","http://mirrors.stuhome.net/centos/","ftp://mirrors.stuhome.net/centos/",""
+"Asia","China","Tsinghua University","http://www.tsinghua.edu.cn/","http://mirrors.tuna.tsinghua.edu.cn/centos/","",""
+"Asia","China","University of Science and Tech of China","http://www.ustc.edu.cn/","http://centos.ustc.edu.cn/centos/","",""
+"Asia","China - Hong Kong","Asia Web Services Ltd.","http://www.vpshosting.com.hk","http://mirror.vpshosting.com.hk/pub/linux/centos/","ftp://mirror.vpshosting.com.hk/pub/linux/centos/",""
+"Asia","Hong Kong","01LINK NETWORK SERVICES LIMITED","http://www.01link.net/","http://centos.01link.hk/","ftp://centos.01link.hk/","rsync://centos.01link.hk/centos/"
+"Asia","Hong Kong","CommuniLink Internet Limited","http://www.communilink.net/","http://centos.communilink.net/","ftp://centos.communilink.net/centos/",""
+"Asia","Hong Kong","i-System Technology Limited","http://www.uhost.hk/","http://centos.uhost.hk/","ftp://centos.uhost.hk/centos/",""
+"Asia","Hong Kong","SunnyVision Limited","http://www.sunnyvision.com/","http://mirror.sunnyvision.com/centos/","",""
+"Asia","Hong Kong","The Chinese University of Hong Kong","http://www.cuhk.edu.hk/","http://ftp.cuhk.edu.hk/pub/Linux/centos/","ftp://ftp.cuhk.edu.hk/pub/Linux/centos/",""
+"Asia","Hong Kong","UDomain Web Hosting Company Ltd.","http://www.udomain.com.hk/","http://repo.cloudhosting.com.hk/centos/","ftp://repo.cloudhosting.com.hk/pub/centos/",""
+"Asia","India","AOL Online India Pvt. Ltd.","http://corp.aol.in/","http://centos.aol.in/","",""
+"Asia","India","Cyber Futuristics India Pvt Ltd - Go4hos","http://www.go4hosting.com/","http://centosmirror.go4hosting.in/centos/","ftp://centosmirror.go4hosting.in/","rsync://centosmirror.go4hosting.in/centos/"
+"Asia","India","Excell Media Pvt. Ltd.","http://www.excellmedia.net/","http://centos.excellmedia.net/","",""
+"Asia","India","Indian Institute of Technology, Madras","http://www.iitm.ac.in","http://ftp.iitm.ac.in/centos/","ftp://ftp.iitm.ac.in/centos/","rsync://ftp.iitm.ac.in/centos/"
+"Asia","India","LeapSwitch Networks","http://www.leapswitch.com/","http://mirror.leapswitch.com/centos/","",""
+"Asia","India","National Brain Research Centre","http://nbrc.ac.in/","http://mirror.nbrc.ac.in/centos/","",""
+"Asia","Indonesia","Biznet Networks","http://www.biznetnetworks.com/","http://centos.biz.net.id/","","rsync://centos.biz.net.id/centos/"
+"Asia","Indonesia","JR Webhost","http://www.jr-webhost.net/","http://centos.jr-webhost.net/","",""
+"Asia","Indonesia","Kelompok Linux Arek Surabaya (KLAS)/PT Rahajasa Media Internet (RADNET)","","http://buaya.klas.or.id/centos/","ftp://buaya.klas.or.id/centos/",""
+"Asia","Indonesia","Smart Media Pratama, PT.","http://smartmedia.net.id/","http://mirror.smartmedia.net.id/centos/","ftp://mirror.smartmedia.net.id/centos/",""
+"Asia","Japan","FAIRWAY Corporation","http://www.fairway-corp.co.jp/","http://mirror.fairway.ne.jp/centos/","ftp://mirror.fairway.ne.jp/centos/",""
+"Asia","Japan","Internet Initiative Japan Inc.","http://www.iij.ad.jp/","http://ftp.iij.ad.jp/pub/linux/centos/","ftp://ftp.iij.ad.jp/pub/linux/centos/","rsync://ftp.iij.ad.jp/centos/"
+"Asia","Japan","JAIST","http://www.jaist.ac.jp/","http://ftp.jaist.ac.jp/pub/Linux/CentOS/","ftp://ftp.jaist.ac.jp/pub/Linux/CentOS/","rsync://ftp.jaist.ac.jp/pub/Linux/CentOS/"
+"Asia","Japan","KDDI R&D Laboratories Inc.","http://www.kddilabs.jp/english/index.html","http://www.ftp.ne.jp/Linux/packages/CentOS/","ftp://ftp.kddilabs.jp/Linux/packages/CentOS/","rsync://rsync.kddilabs.jp/centos/"
+"Asia","Japan","NARA Inst of Science and Technology","http://www.naist.jp/","http://ftp.nara.wide.ad.jp/pub/Linux/centos/","ftp://ftp.nara.wide.ad.jp/pub/Linux/centos/","rsync://ftp.nara.wide.ad.jp/centos"
+"Asia","Japan","RIKEN Research Institute","http://www.riken.jp/","http://ftp.riken.jp/Linux/centos/","ftp://ftp.riken.jp/Linux/centos/","rsync://ftp.riken.jp/centos/"
+"Asia","Japan","WIDEProject Tsukuba NOC","","http://ftp.tsukuba.wide.ad.jp/Linux/centos/","",""
+"Asia","Kazakhstan","Neolabs LLP","http://neolabs.kz","http://mirror.neolabs.kz/centos/","ftp://mirror.neolabs.kz/centos/","rsync://mirror.neolabs.kz/centos/"
+"Asia","Korea","AoneNetworks Co.,Ltd.","http://www.nicehosting.co.kr","http://data.nicehosting.co.kr/os/CentOS/","",""
+"Asia","Korea","CDNetworks Co., Ltd.","http://www.cdnetworks.com/","http://centos.mirror.cdnetworks.com/","ftp://centos.mirror.cdnetworks.com/centos/",""
+"Asia","Korea","NeowizGames corp.","http://www.pmang.com/","http://ftp.neowiz.com/centos/","ftp://ftp.neowiz.com/centos/","rsync://ftp.neowiz.com::centos"
+"Asia","Korea","TODAY&TOMORROW CO., LTD.","http://tt.co.kr/gate/main.php","http://centos.tt.co.kr/","",""
+"Asia","Malaysia","Hostemo Technology Sdn Bhd","http://www.hostemo.com/","http://mirrors.hostemo.com/CentOS/","",""
+"Asia","Malaysia","IP ServerOne Solutions Sdn Bhd","http://www.ipserverone.com/","http://centos.ipserverone.com/centos/","",""
+"Asia","Malaysia","OSCC MAMPU","http://www.oscc.org.my/","http://mirror.oscc.org.my/centos/","",""
+"Asia","Malaysia","Sultan Idris Education University","http://www.upsi.edu.my/","http://mirror.upsi.edu.my/centos/","",""
+"Asia","Malaysia","Universiti Teknologi Malaysia","http://www.utm.my/","http://ossm.utm.my/centos/","","rsync://ossm.utm.my/centos/"
+"Asia","Mongolia","Mongolian National Data Center","http://www.ndc.gov.mn/","http://mirror.ndc.mn/centos/","",""
+"Asia","Mongolia","National University of Mongolia","http://www.num.edu.mn/","http://centos.num.edu.mn/","ftp://centos.num.edu.mn/",""
+"Asia","Pakistan","Cyber Internet Services","http://www.cyber.net.pk/","http://stingray.cyber.net.pk/pub/centos/","ftp://stingray.cyber.net.pk/centos/","rsync://stingray.cyber.net.pk/centos/"
+"Asia","Pakistan","MAGSNET LIMITED","http://www.magsnet.net/","http://centos-mirror.magsnet.net/centos/","",""
+"Asia","Philippines","DOST-ASTI and PREGI.NET","http://www.asti.dost.gov.ph/","http://mirror.pregi.net/pub/Linux/CentOS/","ftp://mirror.pregi.net/pub/Linux/CentOS/",""
+"Asia","Singapore","National University of Singapore","http://www.comp.nus.edu.sg/","http://mirror.nus.edu.sg/centos/","ftp://mirror.nus.edu.sg/pub/centos/",""
+"Asia","South Korea","Premist","http://premi.st/","http://mirror.premi.st/centos/","",""
+"Asia","Sri Lanka","Lanka Education and Research Network","http://www.learn.ac.lk/","http://mirror.learn.ac.lk/centos/","ftp://mirror.learn.ac.lk/pub/centos/","rsync://mirror.learn.ac.lk/centos/"
+"Asia","Taiwan","CCI, Providence University","http://www.cci.pu.edu.tw/","http://ftp.cs.pu.edu.tw/Linux/CentOS/","ftp://ftp.cs.pu.edu.tw/Linux/CentOS/",""
+"Asia","Taiwan","Computer Center, Shu-Te University","http://en.main.stu.edu.tw/","http://ftp.stu.edu.tw/Linux/CentOS/","ftp://ftp.stu.edu.tw/Linux/CentOS/",""
+"Asia","Taiwan","I-Shou University","http://www.isu.edu.tw/","http://ftp.isu.edu.tw/pub/Linux/CentOS/","ftp://ftp.isu.edu.tw/pub/Linux/CentOS/","rsync://ftp.isu.edu.tw/centos/"
+"Asia","Taiwan","National Center for High-Perf Computing","http://www.nchc.org.tw/en/","http://ftp.twaren.net/Linux/CentOS/","ftp://ftp.twaren.net/Linux/CentOS/",""
+"Asia","Taiwan","National Sun Yat-sen University","http://www.nsysu.edu.tw","http://ftp.nsysu.edu.tw/CentOS/","ftp://ftp.nsysu.edu.tw/pub/CentOS/",""
+"Asia","Taiwan","Southern Taiwan University of Science and Technology","http://www.stust.edu.tw/","http://ftp.stust.edu.tw/pub/Linux/CentOS/","ftp://ftp.stust.edu.tw/pub/Linux/CentOS/",""
+"Asia","Taiwan","TaiChung City Education Network Center","http://www.tc.edu.tw/","http://ftp.tc.edu.tw/Linux/CentOS/","ftp://ftp.tc.edu.tw/Linux/CentOS/",""
+"Asia","Thailand","Bangmod Hosting","http://www.bangmodhosting.com/","http://mirrors.bangmodhosting.com/centos/","","rsync://mirrors.bangmodhosting.com/centos/"
+"Asia","Thailand","Kasetsart University","http://www.ku.ac.th/","http://mirror1.ku.ac.th/centos/","",""
+"Asia","Thailand","Prince of Songkla University, Hatyai cam","http://www.psu.ac.th/en/","http://mirrors.psu.ac.th/pub/centos/","ftp://mirrors.psu.ac.th/pub/centos/","rsync://mirrors.psu.ac.th/centos/"
+"Asia","Thailand","THZ Hosting","http://www.thzhost.com/","http://mirrors.thzhost.com/centos/","","rsync://mirrors.thzhost.com/centos/"
+"Asia","Vietnam","DIGIPOWER Co.,ltd","http://www.digipower.vn/","http://mirrors.digipower.vn/centos/","ftp://mirrors.digipower.vn/centos/","rsync://mirrors.digipower.vn/centos/"
+"Asia","Vietnam","Fibo Web","http://fiboweb.com/","http://mirrors.fibo.vn/centos/","",""
+"Asia","Vietnam","FPT Telecom","http://www.fpt.net/EN/","http://mirror-fpt-telecom.fpt.net/centos/","ftp://mirror-fpt-telecom.fpt.net/mirror/centos/",""
+"Asia","Vietnam","HanoiLUG","http://www.hanoilug.org/","http://virror.hanoilug.org/centos/","",""
+"Asia","Vietnam","VietOSS","","http://mirror.vietoss.com/CentOS/","",""
+"Asia","Vietnam","Viettel IDC ","http://viettelidc.com.vn/","http://centos-hcm.viettelidc.com.vn/","",""
+"Asia","Vietnam","Viettel IDC","http://viettelidc.com.vn/","http://centos-hn.viettelidc.com.vn/","",""
+"Asia","Vietnam","VinaHost Co., Ltd","http://vinahost.vn/","http://mirrors.vinahost.vn/centos/","",""
+"Asia","Vietnam","VONLINE","http://vonline.vn/","http://mirrors.vonline.vn/centos/","",""
+"Canada","AB","Arctic Network Mirrors","http://www.arcticnetwork.ca/","http://centos.arcticnetwork.ca/","ftp://centos.arcticnetwork.ca/pub/centos/","rsync://centos.arcticnetwork.ca/centos/"
+"Canada","BC","Simon Fraser University","http://www.fas.sfu.ca/","http://mirror.its.sfu.ca/mirror/CentOS/","",""
+"Canada","MB","Manitoba Unix User Group","http://www.muug.mb.ca/","http://www.muug.mb.ca/pub/centos/","ftp://ftp.muug.mb.ca/pub/centos/","rsync://rsync.muug.mb.ca/centos/"
+"Canada","MB","Westman Communications Grp","http://www.westmancom.com/","http://centos.westmancom.com/","ftp://centos.westmancom.com/",""
+"Canada","NS","Dalhousie University","http://www.dal.ca/","http://mirror.its.dal.ca/centos/","ftp://mirror.its.dal.ca/centos/","rsync://mirror.its.dal.ca/centos/"
+"Canada","ON","Adeste Global Managed Networks","http://www.adesteglobal.com/","http://mirror.agmn.ca/mirror/centos/","",""
+"Canada","ON","Atwab Networks","http://www.atwab.net/","http://centos.mirrors.atwab.net/","ftp://centos.mirrors.atwab.net/","rsync://centos.mirrors.atwab.net::shares/"
+"Canada","ON","Clearcable Networks","http://www.clearcable.ca/","http://centos.mirror.rafal.ca/","ftp://centos.mirror.rafal.ca/pub/CentOS/","rsync://centos.mirror.rafal.ca/CentOS"
+"Canada","ON","Cogeco Inc.","http://www.cogeco.net/","http://less.cogeco.net/CentOS/","ftp://less.cogeco.net/CentOS/",""
+"Canada","ON","Netflash Internet Solutions","http://www.netflash.net/","http://mirror.netflash.net/centos/","ftp://mirror.netflash.net/centos/","rsync://mirror.netflash.net/centos/"
+"Canada","ON","Nexicom Inc","http://www.nexicom.net","http://centos.mirror.nexicom.net/","ftp://mirror.nexicom.net/pub/centos/","rsync://mirror.nexicom.net/CentOS"
+"Canada","ON","U. of Waterloo Computer Science Club","http://csclub.uwaterloo.ca/","http://mirror.csclub.uwaterloo.ca/centos/","ftp://mirror.csclub.uwaterloo.ca/centos/","rsync://mirror.csclub.uwaterloo.ca/centos/"
+"Canada","ON","University of Ottawa, Faculty of Science","http://www.science.uottawa.ca/","http://mirror.science.uottawa.ca/centos/","",""
+"Canada","ON","Wightman Telecom","http://wightman.ca/","http://mirror.netaddicted.ca/CentOS/","ftp://mirror.netaddicted.ca/CentOS/",""
+"Canada","QC","Cubicule Studio inc.","http://www.cubiculestudio.com/","http://www.cubiculestudio.com/centos/","",""
+"Canada","QC","GloboTech Communications","http://www.gtcomm.net/","http://centos.mirror.gtcomm.net/","",""
+"Canada","QC","iWeb Technologies Inc.","http://iweb.com/","http://centos.mirror.iweb.ca/","ftp://centos.mirror.iweb.ca/","rsync://centos.mirror.iweb.ca/centos"
+"Canada","QC","Netelligent","http://www.netelligent.ca/centos/","http://centos.mirror.netelligent.ca/centos/","",""
+"Canada","QC","OVH Canada","http://www.ovh.com/ca/en/","http://centos.bhs.mirrors.ovh.net/ftp.centos.org/","ftp://centos.bhs.mirrors.ovh.net/ftp.centos.org/","rsync://centos.bhs.mirrors.ovh.net/ftp.centos.org/"
+"Canada","QC","PlanetHoster Canada","http://www.planethoster.net/","http://centos.mirror.ca.planethoster.net/","",""
+"Canada","QC","VEXXHOST","http://www.vexxhost.com/","http://centos.mirror.vexxhost.com/","ftp://mirror.vexxhost.com/centos/","rsync://mirror.vexxhost.com/centos/"
+"EU","Armenia","ARMINCO Global Telecommunications","http://www.arminco.com/","http://centos.mirrors.arminco.com/","",""
+"EU","Austria","Goodie Domain Service","http://gd.tuwien.ac.at/","http://gd.tuwien.ac.at/opsys/linux/centos/","ftp://gd.tuwien.ac.at/opsys/linux/centos/","rsync://gd.tuwien.ac.at/opsys/linux/centos/"
+"EU","Austria","netzpionier and it&tel","http://www.mirroraustria.at/","http://centos.mirroraustria.at/","http://centos.mirroraustria.at/","rsync://centos.mirroraustria.at/CentOS/"
+"EU","Azerbaijan","Delta Telecom LTD ","http://delta-telecom.net/","http://centos.datacenter.az/","",""
+"EU","Belarus","RUE Beltelecom, ByFly ISP.","http://byfly.by/","http://ftp.byfly.by/pub/CentOS/","ftp://ftp.byfly.by/pub/CentOS/","rsync://ftp.byfly.by/pub/CentOS/"
+"EU","Belgium","All In One","http://www.all-in-one.be/","http://mirror.myip.be/pub/centos/","",""
+"EU","Belgium","Connexeon bvba","http://www.connexeon.com","http://centos.mirror.connexeon.net/","",""
+"EU","Belgium","Cu.be Solutions","http://cu.be/","http://centos.cu.be/","",""
+"EU","Belgium","EURid (BE)","http://www.eurid.eu/","http://be.mirror.eurid.eu/centos/","ftp://be.mirror.eurid.eu/centos/",""
+"EU","Belgium","Nucleus","http://www.nucleus.be/","http://centos.mirror.nucleus.be/","ftp://centos.mirror.nucleus.be/",""
+"EU","Belgium","WeePee telecom","http://www.weepeetelecom.be/","http://centos.weepeetelecom.be/","",""
+"EU","Bosnia & Herzegovina","BH Telecom","http://www.bhtelecom.ba","http://mirror.centos.com.ba/","ftp://mirror.centos.com.ba/centos/","ftp://mirror.centos.com.ba/centos/"
+"EU","Bulgaria","Cherybg (Private Mirror)","http://www.cherybg.com/","http://mirror.cherybg.com/centos/","",""
+"EU","Bulgaria","Neterra LTD","http://www.neterra.net/","http://mirrors.neterra.net/centos/","ftp://mirrors.neterra.net/centos/","rsync://mirrors.neterra.net/centos/"
+"EU","Bulgaria","Svetozar Mihailov Private Mirror","","http://mirror.zarhi.com/","http://mirror.zarhi.com/",""
+"EU","Bulgaria","Telecoms Ltd.","http://www.telecoms.bg/","http://centos.telecoms.bg/","ftp://centos.telecoms.bg/",""
+"EU","Bulgaria","Telepoint Bulgaria","http://telepoint.bg/","http://mirror.telepoint.bg/centos/","ftp://mirror.telepoint.bg/centos/",""
+"EU","Croatia","Plus Hosting","http://www.plus.hr/","http://mirror.centos.plus.hr/centos/","ftp://mirror.centos.plus.hr/centos/",""
+"EU","Cyprus","Dept. of Computer Science, University of Cyprus","http://www.cs.ucy.ac.cy/","http://mirror.cs.ucy.ac.cy/centos/","ftp://mirror.cs.ucy.ac.cy/centos/",""
+"EU","Czech Republic","Brno University of Technology","http://www.fit.vutbr.cz/","http://merlin.fit.vutbr.cz/mirrors/centos/","","rsync://merlin.fit.vutbr.cz/CentOS-incdvd/"
+"EU","Czech Republic","Czech Technical University","http://www.cvut.cz","http://ftp.cvut.cz/centos/","ftp://ftp.cvut.cz/centos/",""
+"EU","Czech Republic","Faculty of Informatics, Masaryk Univ.","http://www.fi.muni.cz/","http://ftp.fi.muni.cz/pub/linux/centos/","ftp://ftp.fi.muni.cz/pub/linux/centos/","rsync://ftp.fi.muni.cz/pub/linux/centos/"
+"EU","Czech Republic","Hosting90 systems s.r.o.","http://www.hosting90.cz/","http://mirror.hosting90.cz/centos/","ftp://mirror.hosting90.cz/centos/",""
+"EU","Czech Republic","Karneval Media","http://www.karneval.cz","http://mirror.karneval.cz/pub/centos/","ftp://mirror.karneval.cz/pub/centos/",""
+"EU","Czech Republic","Silesian university in Opava","http://www.slu.cz/","http://mirror.slu.cz/centos/","ftp://mirror.slu.cz/centos/","rsync://mirror.slu.cz/centos/"
+"EU","Denmark","Carlsberg Research Center","http://www.crc.dk/","","ftp://ftp.crc.dk/pub/mirrors/centos/",""
+"EU","Denmark","EasySpeedy","http://easyspeedy.com/","http://mirror.easyspeedy.com/centos/","ftp://mirror.easyspeedy.com/centos/","rsync://mirror.easyspeedy.com/centos/"
+"EU","Denmark","Physics Dept, Technical Univ of Denmark","http://www.fys.dtu.dk/","http://mirror.fysik.dtu.dk/linux/centos/","",""
+"EU","Denmark","Skytech","http://skytech.dk/","http://centos.skarta.net/","","rsync://centos.skarta.net::CentOS"
+"EU","Estonia","Elion Enterprises Ltd","http://www.elion.ee/wwwmain?screenId=html.main&locale=en","http://ftp.estpak.ee/pub/centos/","ftp://ftp.estpak.ee/pub/centos/","rsync://ftp.estpak.ee/centos"
+"EU","Finland","Academica Oy","http://academica.fi/","http://mirror.academica.fi/CentOS/","ftp://mirror.academica.fi/CentOS/","rsync://mirror.academica.fi/CentOS"
+"EU","Finland","CSC / Funet","http://www.nic.funet.fi/","http://ftp.funet.fi/pub/mirrors/centos.org/","ftp://ftp.funet.fi/pub/mirrors/centos.org/","rsync://rsync.nic.funet.fi/ftp/pub/mirrors/centos.org/"
+"EU","France","Atos Worldline","http://www.atos.net/","http://mirrors.atosworldline.com/public/centos/","",""
+"EU","France","Avenir Telematique SAS","http://www.ate.info","http://mirror.ate.info/ftp.centos.org/","",""
+"EU","France","Centre de Calcul de l'IN2P3","http://cc.in2p3.fr/","http://mirror.in2p3.fr/linux/CentOS/","ftp://mirror.in2p3.fr/pub/linux/CentOS/","rsync://mirror.in2p3.fr/ftp/linux/CentOS/"
+"EU","France","CIRIL","http://reseau.ciril.fr","http://ftp.ciril.fr/pub/linux/centos/","ftp://ftp.ciril.fr/pub/linux/centos/","rsync://ftp.ciril.fr/pub/linux/centos/"
+"EU","France","Distrib Coffee","http://distrib-coffee.ipsl.jussieu.fr/","http://distrib-coffee.ipsl.jussieu.fr/pub/linux/centos/","ftp://distrib-coffee.ipsl.jussieu.fr/pub/linux/centos/","rsync://distrib-coffee.ipsl.jussieu.fr/pub/linux/centos/"
+"EU","France","ftp.free.fr","","","ftp://ftp.free.fr/mirrors/ftp.centos.org/",""
+"EU","France","Institut Pasteur","http://www.pasteur.fr/","","ftp://ftp.pasteur.fr/pub/computing/linux/centos/",""
+"EU","France","ircam","http://mirrors.ircam.fr/pub/CentOS/","http://mirrors.ircam.fr/pub/CentOS/","ftp://mirrors.ircam.fr/pub/CentOS/","rsync://mirrors.ircam.fr/CentOS/"
+"EU","France","Matt Clements (private mirror)","http://mattclements.co.uk/","http://centos.mattclements.co.uk/","",""
+"EU","France","OVH","http://www.ovh.net","http://mirror.ovh.net/ftp.centos.org/","ftp://mirror.ovh.net/ftp.centos.org/","rsync://mirror.ovh.net/ftp.centos.org/"
+"EU","France","PlanetHoster France","http://www.planethoster.net/","http://centos.mirror.fr.planethoster.net/","",""
+"EU","France","RelouFR Networks","http://www.reloumirrors.net/","http://centos.crazyfrogs.org/","","rsync://centos.crazyfrogs.org/centos/"
+"EU","France","Rezopole","http://www.rezopole.net/","http://ftp.rezopole.net/centos/","ftp://ftp.rezopole.net/centos/","ftp.rezopole.net::centos"
+"EU","France","Rpmfind","http://rpmfind.net/","http://fr2.rpmfind.net/linux/centos/","ftp://fr2.rpmfind.net/linux/centos/","rsync://fr2.rpmfind.net/linux/centos/"
+"EU","France","Syntis","http://www.syntis.net/","http://mir01.syntis.net/CentOS/","ftp://mir01.syntis.net/CentOS/","mir01.syntis.net::CentOS "
+"EU","France","Universit? Paris 13","http://www.univ-paris13.fr/","http://miroir.univ-paris13.fr/centos/","",""
+"EU","Georgia","Caucasus Online","http://www.co.ge/","http://centos.mirror.srv.co.ge/","",""
+"EU","Georgia","Wanex LLC (ISP)","http://www.wanex.net","http://mirror.centos.ge/","ftp://mirror.centos.ge/",""
+"EU","Germany","Artfiles New Media GmbH ","http://www.artfiles.de/","http://artfiles.org/centos.org/","ftp://artfiles.org/centos.org/",""
+"EU","Germany","ATrpms","http://www.atrpms.net/","http://mirror.atrpms.net/centos/","",""
+"EU","Germany","Checkdomain GmbH","http://www.checkdomain.de/","http://mirror.checkdomain.de/centos","ftp://mirror.checkdomain.de/centos",""
+"EU","Germany","Copahost","http://www.copahost.com/","http://centos.copahost.com/","",""
+"EU","Germany","EUserv Internet","http://www.euserv.com/","http://mirror.euserv.net/linux/centos/","ftp://mirror.euserv.net/linux/centos/","rsync://mirror.euserv.net::centos"
+"EU","Germany","Faerber (Private Mirror)","","http://mirror.maeh.org/centos/","ftp://mirror.maeh.org/centos/",""
+"EU","Germany","Fraunhofer-Gesellschaft","http://www.fraunhofer.de/","","ftp://mirror.fraunhofer.de/centos.org/",""
+"EU","Germany","Friedrich-Alexander-Universit?t Erlangen-N?rnberg","http://www.fau.de/","http://ftp.fau.de/centos/","ftp://ftp.fau.de/centos/","rsync://ftp.fau.de/centos/"
+"EU","Germany","Host Europe","http://www.hosteurope.de/","http://ftp.hosteurope.de/mirror/centos.org/","ftp://ftp.hosteurope.de/mirror/centos.org/","rsync://ftp.hosteurope.de/centos/"
+"EU","Germany","Intergenia","http://www.server4you.de/","http://centos.intergenia.de/","","rsync://centos.intergenia.de/centos-linux/"
+"EU","Germany","Juergen Gotteswinter (private)","","http://mirror.jgotteswinter.com/centos/","ftp://ftp.jgotteswinter.com/centos/","rsync://rsync.jgotteswinter.com/centos/"
+"EU","Germany","LeaseWeb Germany","http://www.leaseweb.com/","http://mirror.de.leaseweb.net/centos/","ftp://mirror.de.leaseweb.net/centos/","rsync://mirror.de.leaseweb.net/centos/"
+"EU","Germany","LMU Muenchen, Dpt. Biologie 2, IT-Gruppe","http://zi.bio.lmu.de/","http://centos.bio.lmu.de/","ftp://centos.bio.lmu.de/centos/","rsync://centos.bio.lmu.de/CentOS/"
+"EU","Germany","NetCologne","http://netcologne.de","http://mirror.netcologne.de/centos/","ftp://mirror.netcologne.de/centos/","rsync://mirror.netcologne.de/centos/"
+"EU","Germany","Plus.line AG","http://www.plusline.de","http://ftp.plusline.de/centos/","ftp://ftp.plusline.de/pub/centos/","rsync://ftp.plusline.de/CentOS/"
+"EU","Germany","PSW Group","http://www.psw.net/","http://centos.psw.net/centos/","",""
+"EU","Germany","Rechenzentrum Universit?t Bayreuth","http://www.rz.uni-bayreuth.de/","http://ftp.uni-bayreuth.de/linux/CentOS/","ftp://ftp.uni-bayreuth.de/pub/linux/CentOS/","rsync://rsync.uni-bayreuth.de/CentOS/"
+"EU","Germany","RWTH Aachen University","http://www.rwth-aachen.de","http://ftp.halifax.rwth-aachen.de/centos/","ftp://ftp.halifax.rwth-aachen.de/centos/","rsync://ftp.halifax.rwth-aachen.de/centos/"
+"EU","Germany","Schlund Technologies GmbH","http://www.schlundtech.de/","http://centos.schlundtech.de/","ftp://centos.schlundtech.de/centos/","rsync://centos.schlundtech.de/centos/"
+"EU","Germany","Sky Link Data Center","http://skylink-datacenter.de/","http://mirror.skylink-datacenter.de/centos/","ftp://mirror.skylink-datacenter.de/centos/","rsync://mirror.skylink-datacenter.de/centos/"
+"EU","Germany","Softaculous ltd.","http://www.softaculous.com/","http://mirror.softaculous.com/centos/","",""
+"EU","Germany","Tim Harsdorf","http://www.timharsdorf.de/home/","http://centos.mirror.linuxwerk.com/","",""
+"EU","Germany","TU Chemnitz","http://www.tu-chemnitz.de/","http://wftp.tu-chemnitz.de/pub/linux/centos/","ftp://ftp.tu-chemnitz.de/pub/linux/centos/","rsync://rsync.hrz.tu-chemnitz.de/ftp/pub/linux/centos/"
+"EU","Germany","University of Applied Sciences Esslingen","http://www.fht-esslingen.de/de/44","http://ftp-stud.fht-esslingen.de/pub/Mirrors/centos/","ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/centos/","rsync://ftp-stud.fht-esslingen.de/centos/"
+"EU","Germany","University of Applied Sciences Esslingen 2","http://www.fht-esslingen.de/de/44","http://mirror2.hs-esslingen.de/centos/","","rsync://mirror2.hs-esslingen.de/centos/"
+"EU","Germany","University of Applied Sciences Fulda","http://www.hs-fulda.de/","http://mirror.informatik.hs-fulda.de/centos","","rsync://mirror.informatik.hs-fulda.de/centos/"
+"EU","Germany","Vieth Server","http://mirror-server.de/","http://centos.mirror-server.de/","",""
+"EU","Greece","Computer Center, University of Crete","http://www.cc.uoc.gr/","http://ftp.cc.uoc.gr/CentOS/","ftp://ftp.cc.uoc.gr/CentOS/",""
+"EU","Greece","Hellenic Telecommunications Organization","http://www.ote.gr/","http://ftp.otenet.gr/linux/centos/","ftp://ftp.otenet.gr/pub/linux/centos/",""
+"EU","Greece","NTUA","http://www.ntua.gr/","http://ftp.ntua.gr/pub/linux/centos/","ftp://ftp.ntua.gr/pub/linux/centos/","rsync://ftp.ntua.gr/centos/"
+"EU","Hungary","Free Software Network foundation","http://www.fsn.hu/","http://ftp.freepark.org/pub/linux/distributions/centos/","ftp://ftp.freepark.org/pub/linux/distributions/centos/","rsync://ftp.freepark.org/linux/centos/"
+"EU","Iceland","Siminn","http://www.simnet.is/","http://www.fedora.is/CentOS/","ftp://ftp.fedora.is/pub/CentOS/",""
+"EU","Iceland","TM Software","http://www.tm-software.com","http://centos.t.is/centos/","ftp://centos.t.is/centos/",""
+"EU","Ireland","HEAnet","http://www.heanet.ie/about/index.html","http://ftp.heanet.ie/pub/centos/","ftp://ftp.heanet.ie/pub/centos/","rsync://ftp.heanet.ie/pub/centos/"
+"EU","Italy","2nd University of Rome","www.uniroma2.it","http://centos.fis.uniroma2.it","ftp://cis.uniroma2.it/LinuxF/CentOS",""
+"EU","Italy","Clouditalia Communications","http://www.eutelia.it/","","ftp://ftp.eutelia.it/CentOS",""
+"EU","Italy","Contactlab","http://www.contactlab.com/","http://it.centos.contactlab.it/","",""
+"EU","Italy","Crazy Network","http://crazynetwork.it/","http://mirror.crazynetwork.it/centos/","","rsync://mirror.crazynetwork.it/centos/"
+"EU","Italy","Fastbull project","http://www.fastbull.org/home_english.html","http://centos.fastbull.org/centos/","",""
+"EU","Italy","GARR/CILEA","http://mirror.garr.it","http://mi.mirror.garr.it/mirrors/CentOS/","ftp://mi.mirror.garr.it/mirrors/CentOS/","rsync://mi.mirror.garr.it/CentOS/"
+"EU","Italy","Prometeus","http://www.prometeus.net/","http://mirrors.prometeus.net/centos/","",""
+"EU","Italy","Range-ID","http://www.range-id.it/","http://centos.mirror.range-id.it/","",""
+"EU","Latvia","ChampGround","http://www.champground.com/","http://champground.com/centos/","",""
+"EU","Latvia","koyanet.lv","","http://centos.koyanet.lv/centos/","ftp://centos.koyanet.lv/centos/",""
+"EU","Latvia","Linux Center, University of Latvia","http://linux.edu.lv/index.php","http://centos.linux.edu.lv/","ftp://centos.linux.edu.lv/centos.linux.edu.lv/","rsync://centos.linux.edu.lv/centos/"
+"EU","Latvia","Makonix SIA","http://makonix.com/","http://mirror.makonix.com/centos/","",""
+"EU","Lithuania","Balticservers.com","http://www.balticservers.com/","http://mirror.duomenucentras.lt/centos/","ftp://mirror.duomenucentras.lt/centos/",""
+"EU","Lithuania","Interneto vizija","http://www.serveriai.lt/","http://centos.mirror.serveriai.lt/","",""
+"EU","Lithuania","UAB Esnet","http://www.vpsnet.lt/","http://centos.vpsnet.lt/","",""
+"EU","Luxembourg","root S.A","http://www.root.lu/","http://centos.mirror.root.lu/","ftp://mirror.root.lu/centos/","rsync://mirror.root.lu/CentOS"
+"EU","Macedonia","Cabletel Macedonia","http://cabletel.com.mk/","http://mirror.cabletel.com.mk/centos/","",""
+"EU","Moldova","FedoraMD.org","http://www.fedoramd.org/","http://repo.fedoramd.org/centos/","ftp://ftp.fedoramd.org/centos/",""
+"EU","Netherlands","1000mbps.com","http://www.1000mbps.com/","http://mirror.1000mbps.com/centos/","ftp://mirror.1000mbps.com/centos/","rsync://mirror.1000mbps.com/centos/"
+"EU","Netherlands","ColoCenter","http://www.colocenter.nl/","http://mirror.colocenter.nl/pub/centos/","",""
+"EU","Netherlands","Delft University of Technology","http://www.tudelft.nl/","http://ftp.tudelft.nl/centos.org/","ftp://ftp.tudelft.nl/pub/Linux/centos.org/",""
+"EU","Netherlands","EURid (NL)","http://www.eurid.eu/","http://nl.mirror.eurid.eu/centos/","ftp://nl.mirror.eurid.eu/centos/",""
+"EU","Netherlands","INTERACTIVE 3D","http://www.i3d.net/","http://mirror.i3d.net/pub/centos/","ftp://mirror.i3d.net/centos/","rsync://mirror.i3d.net::centos"
+"EU","Netherlands","LeaseWeb","http://www.leaseweb.com","http://mirror.nl.leaseweb.net/centos/","ftp://mirror.nl.leaseweb.net/centos/","rsync://mirror.nl.leaseweb.net/centos/"
+"EU","Netherlands","Linux Kernel Archives (NL)","http://www.kernel.org/","http://mirrors.nl.kernel.org/centos/","ftp://mirrors.nl.kernel.org/centos/","rsync://mirrors.nl.kernel.org/centos/"
+"EU","Netherlands","Mj Webhosting","https://www.mjwebhosting.nl/","http://mirror.serverbeheren.nl/centos/","ftp://mirror.serverbeheren.nl/centos/","rsync://mirror.serverbeheren.nl/centos/"
+"EU","Netherlands","MuntInternet","http://www.muntinternet.nl/","http://mirror.muntinternet.net/pub/centos/","ftp://mirror.muntinternet.net/pub/centos/","rsync://mirror.muntinternet.net/pub/centos/"
+"EU","Netherlands","NLUUG","http://www.nluug.nl/","http://ftp.nluug.nl/ftp/pub/os/Linux/distr/CentOS/","ftp://ftp.nluug.nl/pub/os/Linux/distr/CentOS/","rsync://ftp.nluug.nl/centoslinux/"
+"EU","Netherlands","Prolocation B.V.","http://www.prolocation.net/","http://mirror.prolocation.net/centos/","",""
+"EU","Netherlands","Proserve","http://www.proserve.nl/","http://mirror.proserve.nl/centos/","ftp://mirror.proserve.nl/centos/",""
+"EU","Netherlands","Spango Internet BV","http://www.spango.com/nl/index.html","http://centos.mirror1.spango.com/","ftp://mirror1.spango.com/centos/",""
+"EU","Netherlands","Supportex","http://supportex.net/","http://mirrors.supportex.net/centos/","",""
+"EU","Netherlands","TransIP BV","http://www.transip.nl/","http://centos.mirror.transip.nl/","ftp://centos.mirror.transip.nl/Centos/",""
+"EU","Netherlands","Triple IT","http://www.triple-it.nl/","http://centos.mirror.triple-it.nl/","",""
+"EU","Netherlands","University of Utrecht","http://www.cs.uu.nl/","http://archive.cs.uu.nl/mirror/Linux/centos/","ftp://ftp.cs.uu.nl/mirror/Linux/centos/","rsync://rsync.cs.uu.nl/CentOS/"
+"EU","Netherlands","ViralVPS","http://www.viralvps.com/","http://mirrors.viralvps.com/centos/","",""
+"EU","Netherlands","Webzilla","http://webzilla.com/","http://mirror.nl.webzilla.com/CentOS/","ftp://mirror.nl.webzilla.com/CentOS/","rsync://mirror.nl.webzilla.com/CentOS/"
+"EU","Netherlands","WeePee telecom NL","http://www.weepeetelecom.be/","http://centos.weepeetelecom.nl/","",""
+"EU","Netherlands","WideXS","http://www.widexs.nl","http://mirror.widexs.nl/ftp/pub/os/Linux/distr/centos/","ftp://mirror.widexs.nl/pub/os/Linux/distr/centos/",""
+"EU","Netherlands","Yourwebhoster.eu","http://yourwebhoster.eu/","http://mirror.yourwebhoster.eu/centos/","",""
+"EU","Norway","Searchdaimon","http://www.searchdaimon.com/","http://mirror.searchdaimon.com/Linux/centos/","",""
+"EU","Norway","University of Bergen","http://www.uib.no/","http://centos.uib.no/","ftp://centos.uib.no/pub/Linux/Distributions/centos/","rsync://centos.uib.no/centos/"
+"EU","Norway","University of Oslo","http://ftp.uninett.no","http://ftp.uninett.no/pub/Linux/centos/","ftp://ftp.uninett.no/pub/linux/centos/","rsync://ftp.uninett.no/centos/"
+"EU","Norway","ViaNett AS","http://www.vianett.com/","http://centos.vianett.no/","ftp://centos.vianett.no/pub/centos/",""
+"EU","Poland","ICM Warsaw","http://www.icm.edu.pl/","http://sunsite.icm.edu.pl/pub/Linux/distributions/centos/","ftp://sunsite.icm.edu.pl/pub/Linux/distributions/centos/","rsync://sunsite.icm.edu.pl/pub/Linux/distributions/centos/"
+"EU","Poland","IONIC.pl","http://www.ionic.pl/","http://centos.ionic.net.pl/","ftp://centos.ionic.net.pl/",""
+"EU","Poland","Kielce Technology Park","http://www.technopark.kielce.pl/","http://mirror-pl.kielcetechnologypark.net/centos/","ftp://mirror-pl.kielcetechnologypark.net/centos/",""
+"EU","Poland","LiveNet Sp. z o.o. ","http://www.slaskdatacenter.pl/","http://centos.slaskdatacenter.com/","ftp://centos.slaskdatacenter.com/","rsync://centos.slaskdatacenter.com/centos"
+"EU","Poland","pbone.net","http://www.pbone.net/","http://ftp.pbone.net/pub/centos/","ftp://ftp.pbone.net/pub/centos/","rsync://ftp.pbone.net/pub/centos/"
+"EU","Poland","Polish Telecom","http://www.tp.pl/","","ftp://ftp.tpnet.pl/d23/centos/","rsync://ftp.tpnet.pl/centos/"
+"EU","Poland","Rzeszow University of Technology","http://www.prz.edu.pl/","http://ftp.prz.edu.pl/centos/","ftp://ftp.prz.edu.pl/pub/centos/","rsync://ftp.prz.edu.pl/centos/"
+"EU","Poland","Szczecin University of Technology","http://www.ps.pl/","http://ftp.ps.pl/pub/Linux/CentOS/","ftp://ftp.ps.pl/pub/Linux/CentOS/",""
+"EU","Poland","Vectra","http://www.vectra.pl/","http://ftp.vectranet.pl/centos/","ftp://ftp.vectranet.pl/centos/","rsync://ftp.vectranet.pl/centos/"
+"EU","Portugal","nfsi telecom","http://www.nfsi.pt/","http://mirrors.nfsi.pt/CentOS/","ftp://ftp.nfsi.pt/pub/CentOS/",""
+"EU","Portugal","Univ. of Coimbra, Informatics Eng. Dept.","http://www.dei.uc.pt/","http://ftp.dei.uc.pt/pub/linux/CentOS/","ftp://ftp.dei.uc.pt/pub/linux/CentOS/",""
+"EU","Portugal","University of Porto","http://www.up.pt/","http://ftp.up.pt/CentOS/","ftp://ftp.up.pt/pub/CentOS/",""
+"EU","Romania","BizTelecom Romania","http://www.biztelecom.ro/","http://mirrors.biztelecom.ro/centos/","","rsync://mirrors.biztelecom.ro/centos/"
+"EU","Romania","CH-Center Hosting","http://www.ch-center.com/","http://mirrors.ch-center.com/centos/","",""
+"EU","Romania","Dhost Software","http://dhost.ro/","http://ns3.dhost.ro/centosmirros/","ftp://ns3.dhost.ro/centos/",""
+"EU","Romania","Pidgin Host","http://www.pidginhost.com/","http://mirrors.pidginhost.com/centos/","ftp://mirrors.pidginhost.com/centos/","mirrors.pidginhost.com::CentOS"
+"EU","Romania","RCS and RDS","http://www.rcs-rds.ro/","http://centos.mirrors.linux.ro/","ftp://ftp.linux.ro/centos/",""
+"EU","Romania","Romanian Linux Users Group (ines)","http://www.lug.ro/","http://ftp.ines.lug.ro/centos/","ftp://ftp.ines.lug.ro/centos/",""
+"EU","Romania","Romtelecom","http://cyberhost.ro/","http://centos-mirror.cyberhost.ro/","ftp://centos-mirror.cyberhost.ro/",""
+"EU","Romania","Telepoint","http://telepoint.bg/","http://mirror.telepoint.bg/centos","ftp://mirror.telepoint.bg/centos",""
+"EU","Romania","Universitatea Aurel Vlaicu Arad","http://www.uav.ro/","","ftp://mirrors.uav.ro/centos/",""
+"EU","Romania","UPC Romania","http://www.upc.ro/","http://ftp.astral.ro/distros/centos/","ftp://ftp.astral.ro/distros/centos/",""
+"EU","Romania","Xservers.ro","http://www.xservers.ro/","http://mirrors.xservers.ro/centos/","",""
+"EU","Russia"," Tver State University","","http://mirror.tversu.ru/centos/","",""
+"EU","Russia","Astrakhan Page ISP","http://www.astpage.ru/","http://mirror.astpage.ru/centos/","","rsync://mirror.astpage.ru/centos/"
+"EU","Russia","Awanti ISP","http://www.awanti.com/","http://mirror.awanti.com/centos/","ftp://mirror.awanti.com/centos/",""
+"EU","Russia","Internet Hosting LTD","http://majorhost.net/","http://mirror.majorhost.net/centos/","",""
+"EU","Russia","Logol Hosting Company","http://logol.ru/","http://mirror.logol.ru/centos/","ftp://mirror.logol.ru/centos/","rsync://mirror.logol.ru/centos/"
+"EU","Russia","Private Mirror (Micro8240)","","","ftp://linux-mirror.no-ip.org/CentOS/","rsync://linux-mirror.no-ip.org/CentOS/"
+"EU","Russia","RADIUS, Ltd.","","http://mirror.vilkam.ru/centos/","ftp://mirror.vilkam.ru/centos/","rsync://mirror.vilkam.ru/centos/"
+"EU","Russia","RosBusinessConsulting","http://www.rbc.ru/","http://centos-mirror.rbc.ru/pub/centos/","",""
+"EU","Russia","Yandex","http://www.yandex.ru/","http://mirror.yandex.ru/centos/","ftp://mirror.yandex.ru/centos/","rsync://mirror.yandex.ru/centos/"
+"EU","Slovakia","Energotel a.s.","http://www.energotel.sk","http://ftp.energotel.sk/pub/linux/centos/","ftp://ftp.energotel.sk/pub/linux/centos/","rsync://ftp.energotel.sk/centos/"
+"EU","Slovakia","Rainside","http://www.rainside.sk/","http://tux.rainside.sk/centos/","ftp://tux.rainside.sk/centos/",""
+"EU","Slovakia","University of P.J.Safarik","http://www.upjs.sk/","http://ftp.upjs.sk/pub/centos/","ftp://ftp.upjs.sk/pub/centos/",""
+"EU","Slovenia","ARNES","http://www.arnes.si/","http://ftp.arnes.si/pub/mirrors/centos.org/","ftp://ftp.arnes.si/mirrors/centos.org/",""
+"EU","Slovenia","lihnidos.org","http://www.lihnidos.org","http://mirror.lihnidos.org/CentOS/","",""
+"EU","Slovenia","PakNet IT","http://paknet.org/","http://mirrors.paknet.org/CentOS/","",""
+"EU","Spain","CADT Software and Drafting, S.L. ","http://www.cadt.com/","http://centos.cadt.com/","",""
+"EU","Spain","Centro Inform. Cientifico de Andalucia","http://www.cica.es/","http://ftp.cica.es/CentOS/","ftp://ftp.cica.es/CentOS/","rsync://rsync.cica.es/CentOS/"
+"EU","Spain","CESCA","http://www.cesca.cat/","","ftp://ftp.cesca.cat/centos/","rsync://ftp.cesca.cat/centos/"
+"EU","Spain","inAsset Networks","http://www.inasset.es/","http://mirror.trueinter.net/","ftp://mirror.trueinter.net/","rsync://mirror.trueinter.net/"
+"EU","Spain","Oficina de Software Libre do CIXUG","http://www.cixug.es/osl/oficina/","http://ftp.cixug.es/CentOS/","ftp://ftp.cixug.es/CentOS/",""
+"EU","Spain","RedIRIS, Spanish National Research Net.","http://www.rediris.es/index.en.html","http://sunsite.rediris.es/mirror/CentOS/","ftp://ftp.rediris.es/mirror/CentOS/",""
+"EU","Spain","Universitat de Lleida","http://www.udl.es/","http://ftp.udl.es/pub/centos/","ftp://ftp.udl.es/pub/centos/",""
+"EU","Spain","University of Seville (Spain)","http://www.us.es/","http://nervion.us.es/centos/","",""
+"EU","Spain","Xtratelecom S.A.","http://www.xtratelecom.es/","http://centos.mirror.xtratelecom.es/","","centos.mirror.xtratelecom.es::CentOS"
+"EU","Sweden","Availo AB","http://www.availo.se/","http://ftp.availo.se/centos/","ftp://ftp.availo.se/centos/","rsync://rsync.availo.se/centos/"
+"EU","Sweden","Halmstad University","http://www.hh.se/","http://mirror.hh.se/centos/","ftp://mirror.hh.se/centos/",""
+"EU","Sweden","Linux Kernel Archives (SE)","http://www.kernel.org/","http://mirrors.se.kernel.org/centos/","ftp://mirrors.se.kernel.org/centos/","rsync://mirrors.se.kernel.org/centos/"
+"EU","Sweden","National Supercomputer Center, Link?ping","http://www.nsc.liu.se/","http://mirror.nsc.liu.se/CentOS/","ftp://mirror.nsc.liu.se/CentOS/","rsync://mirror.nsc.liu.se/CentOS"
+"EU","Sweden","Sunet FTP archive","http://basun.sunet.se/engelska.html","http://ftp.sunet.se/pub/Linux/distributions/centos/","ftp://ftp.sunet.se/pub/Linux/distributions/centos/","rsync://ftp.sunet.se/pub/Linux/distributions/centos/"
+"EU","Sweden","the computer society at Lund University","http://www.df.lth.se/","http://ftp.df.lth.se/pub/centos/","ftp://ftp.df.lth.se/pub/centos/","rsync://ftp.df.lth.se/centos"
+"EU","Sweden","Zetup AB","http://www.zetup.se/","http://mirror.zetup.net/CentOS/","",""
+"EU","Switzerland","Private Layer Inc.","http://www.privatelayer.com/","http://centos.privatelayer.com/","ftp://centos.privatelayer.com/","100"
+"EU","Switzerland","SWITCHmirror","http://mirror.switch.ch","http://mirror.switch.ch/ftp/mirror/centos/","ftp://mirror.switch.ch/mirror/centos/",""
+"EU","Turkey","7x24NET T?rkiye","http://www.7x24web.net.tr/","http://mirror.7x24web.net.tr/centos","",""
+"EU","Turkey","Bogazici University","http://www.boun.edu.tr/","http://repo.boun.edu.tr/centos/","ftp://repo.boun.edu.tr/centos/",""
+"EU","Turkey","DGN Teknoloji","http://www.dgn.net.tr","http://ftp.dgn.net.tr/linux/centos/","",""
+"EU","Turkey","Turkish Linux User's Association","http://www.linux.org.tr/ ","http://ftp.linux.org.tr/centos/","ftp://ftp.linux.org.tr/centos/","rsync://ftp.linux.org.tr/centos/"
+"EU","Turkey","Vital Technology","http://www.vit.com.tr/","http://mirror.vit.com.tr/mirror/CentOS/","ftp://mirror.vit.com.tr/CentOS/",""
+"EU","UK","Hyve Ltd.","http://www.hyve.com/","http://centos.hyve.com/","",""
+"EU","UK","ServerSpace Ltd","http://www.serverspace.co.uk/","http://centos.serverspace.co.uk/centos/","ftp://centos.serverspace.co.uk/centos/","rsync://centos.serverspace.co.uk/centos/"
+"EU","UK","Simwood eSMS Limited","http://www.simwood.com/","http://mirror.simwood.com/centos/","",""
+"EU","UK","Somerset Technical Solutions Ltd","http://www.somersettechsolutions.co.uk/","http://mirror.stshosting.co.uk/centos/","ftp://mirror.stshosting.co.uk/centos/","rsync://mirror.stshosting.co.uk::centos"
+"EU","UK","SynergyWorks Internet","http://www.synergyworks.co.uk/","http://mirror.synergyworks.co.uk/centos/","",""
+"EU","UK","Umbee Ltd","http://www.umbeehosting.co.uk/","http://repo.umbeehosting.com/centos/","http://repo.umbeehosting.com/centos/","repo.umbeehosting.com::CentOS"
+"EU","UK","VooServers","http://vooservers.com/","http://mirrors.vooservers.com/centos/","",""
+"EU","UK","XILO Communications Ltd.","http://www.xilo.net/","http://mirror.mhd.uk.as44574.net/mirror.centos.org/","",""
+"EU","Ukraine","ABN","http://www.abn-ad.com/","http://ftp.tlk-l.net/pub/mirrors/centos.org/","ftp://ftp.tlk-l.net/pub/mirrors/centos.org/","rsync://ftp.tlk-l.net/pub/mirrors/centos.org/"
+"EU","Ukraine","Colocall Internet Data Center","http://www.colocall.net/","http://ftp.colocall.net/pub/centos/","ftp://ftp.colocall.net/pub/centos/",""
+"EU","Ukraine","IT&T Consulting","https://itt-consulting.com/","http://centos.itt-consulting.com/","",""
+"EU","Ukraine","LDS (Luganskie Domashnie Seti)","http://lds.ua/","","ftp://ftp.linux.lg.ua/pub/centos/",""
+"EU","Ukraine","Mirohost","http://mirohost.net/","http://mirror.mirohost.net/centos/","ftp://mirror.mirohost.net/centos/",""
+"EU","Ukraine","Ukrnames LLC ICANN","http://www.ukrnames.com/","http://mirror.ukrnames.com/mirrors/centos/","ftp://mirror.ukrnames.com/mirrors/centos/","rsync://mirror.ukrnames.com/centos/"
+"EU","Ukraine","Vinnytsia IP-Connect","http://ip-connect.vn.ua/","http://centos.ip-connect.vn.ua/","ftp://centos.ip-connect.vn.ua/mirror/centos/","rsync://centos.ip-connect.vn.ua/centos/"
+"EU","United Kingdom","AAISP","http://aa.net.uk/","http://mirror.for.me.uk/centos/","",""
+"EU","United Kingdom","AS29550.net","http://mirror.as29550.net/","http://mirror.as29550.net/mirror.centos.org/","ftp://mirror.as29550.net/mirror.centos.org/",""
+"EU","United Kingdom","Bytemark","http://www.bytemark.co.uk/","http://mirror.bytemark.co.uk/centos/","ftp://mirror.bytemark.co.uk/centos/","rsync://mirror.bytemark.co.uk/centos"
+"EU","United Kingdom","Coreix","http://www.coreix.net/","http://mirrors.coreix.net/centos/","",""
+"EU","United Kingdom","Goscomb Technologies Limited","http://www.goscomb.net/","http://mirror.sov.uk.goscomb.net/centos/","ftp://mirror.sov.uk.goscomb.net/centos/",""
+"EU","United Kingdom","IceColo, a division of M247 Ltd","http://www.icecolo.com","","http://mirrors.manchester.m247.com/centos/","rsync://mirrors.manchester.m247.com/centos/"
+"EU","United Kingdom","Krystal Secure Hosting Solutions","http://www.krystal.co.uk/","http://mirror.krystal.co.uk/centos/","ftp://mirror.krystal.co.uk/centos/","rsync://mirror.krystal.co.uk::centos"
+"EU","United Kingdom","Melbourne Server Hosting Ltd.","http://www.melbourne.co.uk/","http://mirrors.melbourne.co.uk/sites/ftp.centos.org/centos/","ftp://mirrors.melbourne.co.uk/sites/ftp.centos.org/centos/",""
+"EU","United Kingdom","Oxford University Computing Services","http://www.oucs.ox.ac.uk/","http://mirror.ox.ac.uk/sites/mirror.centos.org/","ftp://mirror.ox.ac.uk/sites/mirror.centos.org/",""
+"EU","United Kingdom","Pulsant Ltd.","http://www.pulsant.co.uk/","http://centos.mirroring.pulsant.co.uk/","ftp://centos.mirroring.pulsant.co.uk/centos/",""
+"EU","United Kingdom","UK Mirror Service - Univ. Kent","http://www.mirrorservice.org/","http://www.mirrorservice.org/sites/mirror.centos.org/","ftp://ftp.mirrorservice.org/sites/mirror.centos.org/","rsync://rsync.mirrorservice.org/mirror.centos.org/"
+"EU","United Kingdom","UKFast.net Ltd","http://www.ukfast.co.uk/","http://mirrors.ukfast.co.uk/sites/ftp.centos.org/","ftp://mirrors.ukfast.co.uk/ftp.centos.org/",""
+"EU","United Kingdom","Warwick University","http://www2.warwick.ac.uk/fac/sci/csc/","http://anorien.csc.warwick.ac.uk/mirrors/centos/","ftp://anorien.csc.warwick.ac.uk/CentOS/","rsync://anorien.csc.warwick.ac.uk/CentOS/"
+"Greenland","","Tele Greenland","http://www.tele.gl","http://mirror.greennet.gl/centos/","",""
+"Middle East","Israel","Interhost Networks","http://www.interhost.co.il/","http://centos.syn.co.il/","","rsync://centos.syn.co.il/centos/"
+"Middle East","Israel","Israel Internet Association (ISOC-IL)","http://www.isoc.org.il/","http://mirror.isoc.org.il/pub/centos/","ftp://mirror.isoc.org.il/pub/centos/",""
+"Middle East","Israel","Joinweb Hosting Ltd","http://www.joinweb.co.il/","http://centos.joinweb.co.il/","",""
+"Middle East","Israel","SPD Hosting LTD","http://www.spd.co.il/","http://centos.spd.co.il/","",""
+"Middle East","Oman","Sultan Qaboos University","http://www.squ.edu.om/","http://mirror.squ.edu.om/centos/","",""
+"Middle East","Saudi Arabia","Saudi Telecom Company (STC)","","http://centos.saudi.net.sa","ftp://centos.saudi.net.sa",""
+"North America","Mexico","Webxcreen","http://www.webxcreen.com/","http://centos.webxcreen.org/","",""
+"Oceania","Australia","AARNet","http://mirror.aarnet.edu.au/","http://mirror.aarnet.edu.au/pub/centos/","ftp://mirror.aarnet.edu.au/pub/centos/","rsync://mirror.aarnet.edu.au/centos/"
+"Oceania","Australia","BKB Internet","http://bkb.net.au/","http://mirror.mel.bkb.net.au/pub/centos/","",""
+"Oceania","Australia","Colocity","http://www.colocity.com/","http://mirror.colocity.com/centos/","",""
+"Oceania","Australia","Crucial Cloud Hosting","http://www.crucial.com.au/","http://centos.mirror.crucial.com.au/","ftp://centos.mirror.crucial.com.au/","mirror.crucial.com.au::CentOS"
+"Oceania","Australia","GloVine Pty Ltd"," http://www.glovine.com.au/","http://centos.syd.au.glomirror.com.au/","",""
+"Oceania","Australia","Hostcentral","http://www.hostcentral.net.au/","http://mirror.as24220.net/pub/centos/","ftp://mirror.as24220.net/pub/centos/","rsync://mirror.as24220.net/centos/"
+"Oceania","Australia","Internode","http://www.internode.on.net/","http://mirror.internode.on.net/pub/centos/","",""
+"Oceania","Australia","Over The Wire","http://www.overthewire.com.au/","http://mirror.overthewire.com.au/pub/centos/","ftp://mirror.overthewire.com.au/pub/centos/",""
+"Oceania","Australia","RackCentral","http://rackcentral.com.au/","http://mirror.rackcentral.com.au/centos/","ftp://mirror.rackcentral.com.au/centos/","rsync://mirror.rackcentral.com.au/centos/"
+"Oceania","Australia","Servers Australia Pty Ltd.","http://www.serversaustralia.com.au/","http://centos.mirror.serversaustralia.com.au/","",""
+"Oceania","Australia","Swinburne University of Technology","http://www.swin.edu.au/","http://ftp.swin.edu.au/centos/","ftp://ftp.swin.edu.au/centos/","rsync://ftp.swin.edu.au/centos/"
+"Oceania","Australia","UberGlobal","http://www.uber.com.au/","http://centos.mirror.uber.com.au/","","rsync://mirror.uber.com.au/centos"
+"Oceania","Australia","VentraIP Group (Australia) Pty Ltd","http://www.ventraip.com.au/","http://mirror.ventraip.net.au/CentOS/","ftp://mirror.ventraip.net.au/CentOS/",""
+"Oceania","Australia","Web24 Group Pty Ltd","http://www.web24.com.au/","http://mirror.web24.net.au/centos/","ftp://mirror.web24.net.au/centos/","rsync://mirror.web24.net.au/centos/"
+"Oceania","Indonesia","Computer Center, Jember University","http://www.unej.ac.id/","http://mirror.unej.ac.id/centos/","ftp://mirror.unej.ac.id/centos/","rsync://mirror.unej.ac.id/centos"
+"Oceania","New Zealand","University of Canterbury","http://canterbury.ac.nz/","http://ucmirror.canterbury.ac.nz/linux/CentOS/","ftp://ucmirror.canterbury.ac.nz/pub/linux/CentOS/",""
+"Oceania","New Zealand","wicks.co.nz","http://wicks.co.nz/","http://ftp.wicks.co.nz/pub/linux/dist/centos/","ftp://ftp.wicks.co.nz/pub/linux/dist/centos/","rsync://ftp.wicks.co.nz/pub/linux/dist/centos/"
+"Oceania","New Zealand","WorldxChange Communications Ltd","http://wxc.co.nz/","http://mirror.xnet.co.nz/pub/centos/","ftp://mirror.xnet.co.nz/pub/centos/",""
+"South America","Argentina","ARSAT","http://www.arsat.com.ar/","http://mirrors.dcarsat.com.ar/centos/","",""
+"South America","Argentina","CCT - CONICET MENDOZA","http://www.mendoza-conicet.gob.ar/","http://centos.mirror.mendoza-conicet.gob.ar/","",""
+"South America","Argentina","xfree.com","http://www.xfree.com.ar/","http://centos.xfree.com.ar/","",""
+"South America","Brazil","Centro de Computa??o Eletr?nica / University of Sao Paulo","http://www.cce.usp.br/","http://linorg.usp.br/CentOS","","rsync://linorg.usp.br/CentOS"
+"South America","Brazil","Federal University of Mato Grosso do Sul - UFMS","http://www-nt.ufms.br/","http://centos.ufms.br/","","rsync://centos.ufms.br/CentOS/"
+"South America","Brazil","Globo.com","http://www.globo.com/","http://mirror.globo.com/centos/","",""
+"South America","Brazil","Instituto Federal do Esp?rito Santo","http://www.ci.ifes.edu.br/","http://mirror.ci.ifes.edu.br/centos/","",""
+"South America","Brazil","SecrelNet","http://secrel.com.br/","http://centos.secrel.com.br/","",""
+"South America","Brazil","State University of Campinas - UNICAMP","http://www.ccuec.unicamp.br/","http://ftp.unicamp.br/pub/centos/","ftp://ftp.unicamp.br/pub/centos/","rsync://ftp.unicamp.br/centos/"
+"South America","Brazil","Universidade Federal do Esp?rito Santo","http://www.ufes.br/","http://centos.ufes.br/","","rsync://centos.ufes.br/centos/"
+"South America","Chile","Gtdinternet S.A.","","http://mirror.gtdinternet.com/","ftp://mirror.gtdinternet.com/pub/Linux/CentOS/",""
+"South America","Chile","Universidad Tecnica Federico Santa Maria","http://portal.inf.utfsm.cl/","","ftp://ftp.inf.utfsm.cl/pub/Linux/CentOS/","rsync://ftp.inf.utfsm.cl/pub/Linux/CentOS/"
+"South America","Colombia","EDATEL ISP","http://www.edatel.net.co/","http://mirror.edatel.net.co/centos/","",""
+"South America","Costa Rica","abdicar Communications, S.A.","http://abdicar.com/","http://mirrors.abdicar.com/CentOS/","ftp://mirrors.abdicar.com/CentOS/","rsync://mirrors.abdicar.com/costarica_CentOS"
+"South America","Costa Rica","University of Costa Rica","http://www.ucr.ac.cr/","http://mirrors.ucr.ac.cr/centos/","ftp://mirrors.ucr.ac.cr/pub/centos/","rsync://mirrors.ucr.ac.cr/centos/"
+"South America","Ecuador","ESPOCH (Escuela Superior Polit?cnica de Chimborazo)","http://www.espoch.edu.ec/","http://mirror.espoch.edu.ec/centos/","","rsync://mirror.espoch.edu.ec/centos/"
+"South America","Puerto Rico","University of Puerto Rico - HPCF","http://www.hpcf.upr.edu/","http://mirrors.hpcf.upr.edu/ftp/pub/Mirrors/CentOS/","ftp://mirrors.hpcf.upr.edu/pub/Mirrors/CentOS/",""
+"US","","Facebook","http://developers.facebook.com/opensource","http://centos.mirror.facebook.net/","",""
+"US","","Oregon State University","http://osuosl.org/","http://ftp.osuosl.org/pub/centos/","ftp://ftp.osuosl.org/pub/centos/","rsync://ftp.osuosl.org/centos/"
+"US","","Rackspace","http://www.rackspace.com/","http://mirror.rackspace.com/CentOS/","",""
+"US","AK","Arctic Region Supercomputing Center","http://www.arsc.edu/","http://mirrors.arsc.edu/centos/","ftp://mirrors.arsc.edu/centos/",""
+"US","AL","Millry Telephone Co","http://www.millry.net/","http://mirror.millry.co/CentOS/","ftp://mirror.millry.co/CentOS/",""
+"US","AL","Teklinks","http://teklinks.com/","http://mirror.teklinks.com/centos/","ftp://mirror.teklinks.com/centos/",""
+"US","AZ","Cavecreek Web Hosting","http://www.cavecreek.net/","http://centos-distro.cavecreek.net/centos/","","rsync://centos-distro.cavecreek.net/CentOS/"
+"US","AZ","Easynews","http://www.easynews.com/","http://mirrors.easynews.com//linux/centos/","ftp://mirrors.easynews.com//linux/centos/",""
+"US","AZ","Singlehop, LLC","http://www.singlehop.com/","http://yum.phx.singlehop.com/centos/","",""
+"US","CA","5Nine Solutions","http://www.5ninesolutions.com/","http://mirror.5ninesolutions.com/centos/","ftp://mirror.5ninesolutions.com/pub/mirror/centos/","rsync://mirror.5ninesolutions.com/centos/"
+"US","CA","Energy Sciences Network","http://www.es.net/","http://linux.mirrors.es.net/centos/","ftp://linux.mirrors.es.net/centos/","rsync://linux.mirrors.es.net/centos/"
+"US","CA","Fast Serv Networks, LLC","http://www.fastserv.com/web/","http://mirror.san.fastserv.com/pub/linux/centos/","ftp://mirror.san.fastserv.com/pub/linux/centos/",""
+"US","CA","FreedomVoice","http://www.freedomvoice.com/","http://centos.mirror.freedomvoice.com/","ftp://mirror.freedomvoice.com/centos/","rsync://mirror.freedomvoice.com/centos/"
+"US","CA","Harvey Mudd College","http://www.hmc.edu","http://mirror.hmc.edu/centos/","",""
+"US","CA","Linux Kernel Archives","http://www.kernel.org/","http://mirrors.kernel.org/centos/","ftp://mirrors.kernel.org/centos/","rsync://mirrors.kernel.org/centos/"
+"US","CA","NDCHost","http://ndchost.com/","http://centos.mirror.ndchost.com/","",""
+"US","CA","Pac-12 Enterprises","http://www.pac-12.org/","http://mirror.pac-12.org/","",""
+"US","CA","Sonic.net","http://sonic.net/","http://mirrors.sonic.net/centos/","ftp://mirrors.sonic.net/centos/",""
+"US","CA","SONN","http://www.sonn.com/","http://centos.sonn.com/","",""
+"US","CA","Stanford University","http://www.stanford.edu/","http://mirror.stanford.edu/yum/pub/centos/","ftp://mirror.stanford.edu/pub/mirrors/centos/","rsync://mirror.stanford.edu/mirrors/centos/"
+"US","CA","TCPDIAG","","http://centos.tcpdiag.net/centos/","ftp://centos.tcpdiag.net/centos/","rsync://centos.tcpdiag.net/centos/"
+"US","CA","University of Southern California","http://mirrors.usc.edu/","http://mirrors.usc.edu/pub/linux/distributions/centos/","ftp://mirrors.usc.edu/pub/linux/distributions/centos/","rsync://mirrors.usc.edu/centos/"
+"US","CO","FDCservers.net LLC (Denver)","http://www.fdcservers.net","http://mirrordenver.fdcservers.net/centos/","",""
+"US","CO","IcyBoards","http://icyboards.com/","http://centos.icyboards.com/","",""
+"US","CO","LFCVPS","http://www.lfcvps.com/","http://mirrors.loosefoot.com/centos/","ftp://mirrors.loosefoot.com/centos/","rsync://mirrors.loosefoot.com/centos/"
+"US","CO","SomeImage Image Hosting","http://someimage.com/","http://centos.someimage.com/","",""
+"US","CO","tummy.com","http://www.tummy.com","http://mirrors.tummy.com/mirrors/CentOS/","",""
+"US","CT","Connecticut Education Network","http://www.ct.gov/cen","http://mirror.net.cen.ct.gov/centos/","",""
+"US","DC","ServInt","http://www.servint.com/","http://centos.servint.com/","",""
+"US","DE","University of Delaware","http://ftp.lug.udel.edu/","http://mirror.lug.udel.edu/pub/centos/","",""
+"US","FL","Atlantic.Net","http://www.atlantic.net/","","ftp://mirror.atlantic.net/pub/centos/",""
+"US","FL","Mojohost","http://www.mojohost.com/","http://mirror.mojohost.com/centos/","ftp://mirror.mojohost.com/centos/",""
+"US","FL","University of South Florida","http://www.usf.edu/","http://ftp.usf.edu/pub/centos/","ftp://ftp.usf.edu/pub/centos/",""
+"US","GA","Georgia Tech","http://www.gtlib.gatech.edu/","http://www.gtlib.gatech.edu/pub/centos/","ftp://ftp.gtlib.gatech.edu/pub/centos/","rsync://rsync.gtlib.gatech.edu/centos/"
+"US","HI","Advanced Network Computing Lab Hawaii","http://www.ancl.hawaii.edu/","http://mirror.ancl.hawaii.edu/linux/centos/","",""
+"US","ID","SolutionPro","http://www.solutionpro.com/","http://mirror.spro.net/centos/","ftp://mirror.spro.net/centos/","rsync://mirror.spro.net/centos/"
+"US","ID","Syringa Networks","http://www.syringanetworks.net/","http://mirrors.syringanetworks.net/centos/","ftp://mirrors.syringanetworks.net/centos/","rsync://mirrors.syringanetworks.net/CentOS/"
+"US","IL","FDCservers.net LLC","http://www.fdcservers.net","http://mirror.fdcservers.net/centos/","ftp://mirror.fdcservers.net/centos/",""
+"US","IL","GIGENET","http://www.gigenet.com/","http://mirrors.gigenet.com/centos/","ftp://mirrors.gigenet.com/centos/","rsync://mirrors.gigenet.com/centos/"
+"US","IL","SanctuaryHost","http://www.sanctuaryhost.com","http://mirror.sanctuaryhost.com/centos/","",""
+"US","IL","Server Axis Corporation","http://serveraxis.com/","http://mirrors.serveraxis.net/centos/","ftp://mirrors.serveraxis.net/centos/",""
+"US","IL","SingleHop.com","http://SingleHop.com/","http://yum.singlehop.com/CentOS/","",""
+"US","IL","Steadfast Networks","http://steadfast.net","http://mirror.steadfast.net/centos/","ftp://mirror.steadfast.net/centos/","rsync://mirror.steadfast.net/centos/"
+"US","IL","Team Cymru","http://team-cymru.org/","http://mirror.team-cymru.org/CentOS/","ftp://mirror.team-cymru.org/CentOS/","rsync://mirror.team-cymru.org/CentOS"
+"US","IL","University of Chicago, Astronomy","http://astro.uchicago.edu/","http://bay.uchicago.edu/centos/","ftp://bay.uchicago.edu/centos/","rsync://bay.uchicago.edu/CentOS/"
+"US","IL","Your.Org","http://www.your.org/","http://ftpmirror.your.org/pub/centos/","ftp://ftpmirror.your.org/pub/centos/","rsync://ftpmirror.your.org/centos/"
+"US","IN","Indiana University","http://pti.iu.edu/cs/software-applications/","","ftp://ftp.ussg.iu.edu/linux/centos/",""
+"US","IN","NetNITCO Internet Services","http://www.netnitco.net/","http://centos.netnitco.net/","ftp://centos.netnitco.net/centos/",""
+"US","MA","Harvard SEAS ARC","http://www.seas.harvard.edu/","http://mirrors.seas.harvard.edu/centos/","",""
+"US","MD","University of Maryland, College Park","http://www.umd.edu/","http://mirror.umd.edu/centos/","ftp://mirror.umd.edu/centos/","rsync://mirror.umd.edu/centos/"
+"US","MI","Central Michigan University","http://www.cmich.edu/","http://mirrors.cmich.edu/centos/","",""
+"US","MI","CoreNetworks Dedicated Servers","http://corenetworks.net","http://centos.corenetworks.net/","",""
+"US","MI","Liquid Web, Inc.","http://www.liquidweb.com/","http://mirrors.liquidweb.com/CentOS/","","rsync://mirrors.liquidweb.com/CentOS/"
+"US","MI","MBNI, University of Michigan","http://www.mbni.med.umich.edu/","http://centos.mbni.med.umich.edu/mirror/","","rsync://centos.mbni.med.umich.edu/mirror"
+"US","MI","Michigan State University Engineering De","http://www.egr.msu.edu/","http://ftp.egr.msu.edu/pub/centos","ftp://ftp.egr.msu.edu/pub/centos","rsync://ftp.egr.msu.edu::CentOS"
+"US","MI","Michigan Tech Linux Users Group","http://lug.mtu.edu/","http://lug.mtu.edu/centos/","ftp://lug.mtu.edu/centos/","rsync://lug.mtu.edu/centos/"
+"US","MI","Nexcess.Net","http://nexcess.net/","http://mirror.nexcess.net/CentOS/","",""
+"US","MI","The Linux Fix","http://tlfhosting.com/","http://mirror.thelinuxfix.com/CentOS/","ftp://mirror.thelinuxfix.com/CentOS/","rsync://mirror.thelinuxfix.com/CentOS/"
+"US","MI","University of Michigan ? Flint","http://www.umflint.edu/","http://holmes.umflint.edu/centos/","",""
+"US","MN","US Internet","http://www.usinternet.com/","http://mirrors.usinternet.com/centos/","","mirrors.usinternet.com::centos"
+"US","MO","JCHost.net Internet Services","http://www.jchost.net/","http://centos-mirror.jchost.net/","",""
+"US","NC","Duke University","http://www.linux.duke.edu/","http://mirror.linux.duke.edu/pub/centos/","ftp://mirror.linux.duke.edu/pub/centos/","rsync://mirror.linux.duke.edu/centos"
+"US","NC","McClatchy Interactive","http://www.mcclatchyinteractive.com/","","ftp://mirror.nandomedia.com/pub/CentOS/",""
+"US","NC","Netriplex, LLC","http://www.netriplex.com","http://centos.mirror.netriplex.com/","","rsync://centos.mirror.netriplex.com/CentOS"
+"US","NC","North Carolina State University","http://www.linux.ncsu.edu/","http://ftp.linux.ncsu.edu/pub/CentOS/","ftp://ftp.linux.ncsu.edu/pub/CentOS/","rsync://ftp.linux.ncsu.edu/CentOS/"
+"US","NE","University of Nebraska-Lincoln","http://www.unl.edu","http://mirror.unl.edu/centos/","",""
+"US","NH","MetroCast Cablevision","http://www.metrocast.com/","http://mirror.metrocast.net/centos/","",""
+"US","NJ","Constant Hosting","http://constant.com/","http://centos.mirror.constant.com/","",""
+"US","NJ","interserver.net","http://interserver.net/","http://mirror.trouble-free.net/centos/","","rsync://mirror.trouble-free.net/centos/"
+"US","NJ","Net Access Corporation","http://www.nac.net","http://centos.mirror.nac.net/","",""
+"US","NJ","SolarVPS","http://www.solarvps.com/","http://mirror.solarvps.com/centos/","ftp://mirror.solarvps.com/centos/",""
+"US","NV","Versaweb Hosting Services","http://www.versaweb.com/","http://mirrors.versaweb.com/centos/","ftp://mirrors.versaweb.com/centos/",""
+"US","NY","Atlantic Metro Communications","http://www.atlanticmetro.net/","http://mirror.atlanticmetro.net/centos/","ftp://mirror.atlanticmetro.net/centos/",""
+"US","NY","BuildDesignCreate.com","http://www.builddesigncreate.com/","http://centos.builddesigncreate.com/mirror/","",""
+"US","NY","Clarkson University","http://www.clarkson.edu/","http://mirror.clarkson.edu/centos/","","rsync://mirror.clarkson.edu/centos"
+"US","NY","Einstein College of Medicine","http://www.einstein.yu.edu/home/default.asp","http://mirrors.einstein.yu.edu/centos/","",""
+"US","NY","New York Internet","http://nyi.net/","","ftp://mirror.nyi.net/centos/",""
+"US","NY","NYU","http://www.nyu.edu/","http://mirror.es.its.nyu.edu/centos/","",""
+"US","NY","Rochester Institute of Technology","http://www.rit.edu/","http://mirrors.rit.edu/centos/","","rsync://mirrors.rit.edu/centos/"
+"US","NY","SpinelliCreations","http://www.spinellicreations.com/","http://centos.spinellicreations.com/","",""
+"US","OH","Beyond Hosting","http://beyondhosting.net/","http://mirror.beyondhosting.net/CentOS/","",""
+"US","OH","CISP / Yocolo","http://www.cisp.com","http://mirror.cisp.com/CentOS/","","rsync://mirror.cisp.com/CentOS"
+"US","OH","HostingXtreme","http://hostingxtreme.com/","http://centos.hostingxtreme.com/","",""
+"US","OK","University of Oklahoma","http://www.ou.edu/web.html","http://mirror.oss.ou.edu/centos/","ftp://mirror.oss.ou.edu/centos/","rsync://mirror.oss.ou.edu/centos/"
+"US","OR","Canby Telcom ","http://www.canbytel.com/","http://mirror.web-ster.com/centos/","ftp://mirror.web-ster.com/centos/","rsync://mirror.web-ster.com/centos/"
+"US","OR","Portland State Univ.","http://www.cat.pdx.edu/","http://mirrors.cat.pdx.edu/centos/","","rsync://mirrors.cat.pdx.edu/centos/"
+"US","OR","TOCICI LLC","http://www.tocici.com/","http://mirror.tocici.com/centos/","",""
+"US","PA","Datto Inc.","http://www.dattobackup.com/","http://mirror.dattobackup.com/CentOS/","",""
+"US","PA","Hoobly Classifieds","http://www.hoobly.com/","http://centos.mirrors.hoobly.com/","",""
+"US","PA","IT7 Networks Inc","http://it7.net/","http://mirrors-pa.sioru.com/centos/","ftp://mirrors-pa.sioru.com/centos/","rsync://mirrors-pa.sioru.com::CentOS"
+"US","TN","Final ASP","http://www.finalasp.com/","http://mirrors.finalasp.com/CentOS/","ftp://mirrors.finalasp.com/CentOS/",""
+"US","TX","1-800-hosting.com","http://www.800hosting.com/","http://dist1.800hosting.com/centos/","ftp://dist1.800hosting.com/centos/",""
+"US","TX","Geeks at Work Solutions","http://gawsolutions.us/","http://mirrors.gawsolutions.us/centos","",""
+"US","TX","GravityFish, LLC","http://gravityfish.com/","http://centos.gravityfish.com/","",""
+"US","TX","Limestone Networks","http://www.limestonenetworks.com/","http://centos.mirror.lstn.net/","ftp://centos.mirror.lstn.net/centos/","rsync://centos.mirror.lstn.net/"
+"US","TX","Ray Stedman Library","http://www.raystedman.org/","http://mirror.raystedman.net/centos/","","rsync://mirror.raystedman.net/centos/"
+"US","TX","UnmeteredVPS.net","http://unmeteredvps.net/","http://centos.unmeteredvps.net/","ftp://centos.unmeteredvps.net/","centos.UnmeteredVPS.net::CentOS"
+"US","TX","XygenHosting","http://www.xygenhosting.com/","http://dallas.tx.mirror.xygenhosting.com/CentOS/","ftp://dallas.tx.mirror.xygenhosting.com/CentOS/","rsync://dallas.tx.mirror.xygenhosting.com::centos"
+"US","UT","Bluehost.com","http://www.bluehost.com","http://mirrors.bluehost.com/centos/","",""
+"US","UT","Fast Speed Test","http://fastspeedtest.com","http://fastspeedtest.net/mirrors/centos/","",""
+"US","UT","University of Utah","http://www.chpc.utah.edu/","http://mirror.chpc.utah.edu/pub/centos/","","rsync://mirror.chpc.utah.edu/pub/centos/"
+"US","UT","XMission","http://www.xmission.com/","http://mirrors.xmission.com/centos/","ftp://mirrors.xmission.com/centos/","rsync://mirrors.xmission.com/centos/"
+"US","VA","AdvancedHosters","http://advancedhosters.com/","http://mirrors.advancedhosters.com/centos/","ftp://mirrors.advancedhosters.com/centos/","rsync://mirrors.advancedhosters.com/centos/"
+"US","VA","AOL, LLC","http://corp.aol.com/","http://centos.aol.com/","",""
+"US","VA","Cogent Communications","http://www.cogentco.com/","http://mirror.cogentco.com/pub/linux/centos/","ftp://mirror.cogentco.com/pub/linux/centos/","rsync://mirror.cogentco.com/CentOS/"
+"US","VA","Fast Serv Networks, LLC, VA","http://www.fastserv.com/web/","http://mirror.ash.fastserv.com/pub/linux/centos/","ftp://mirror.ash.fastserv.com/pub/linux/centos/",""
+"US","VA","Leasweb US","http://www.leaseweb.com/","http://mirror.us.leaseweb.net/centos/","ftp://mirror.us.leaseweb.net/centos/","rsync://mirror.us.leaseweb.net/centos/"
+"US","VA","Symnds","","http://mirror.symnds.com/CentOS/","","rsync://mirror.symnds.com/CentOS/"
+"US","VA","University of Virginia","http://www.virginia.edu/","http://mirror.itc.virginia.edu/CentOS/","","rsync://mirror.itc.virginia.edu/centos/"
+"US","VA","Virginia Commonwealth University","http://www.vcu.edu/","http://mirror.vcu.edu/pub/gnu+linux/centos/","ftp://mirror.vcu.edu/pub/gnu+linux/centos/","rsync://mirror.vcu.edu/centos/"
+"US","VA","Virginia Tech","http://mirror.cs.vt.edu/","http://mirror.cs.vt.edu/pub/CentOS/","ftp://mirror.cs.vt.edu/pub/CentOS/",""
+"US","VA","Yellow Fiber Networks","http://www.yellowfiber.net/","http://mirror.yellowfiber.net/centos/","",""
+"US","VT","Green Mountain Access","http://www.greenmountainaccess.net/","http://mirrors.greenmountainaccess.net/centos/","ftp://mirrors.greenmountainaccess.net/centos/","rsync://mirrors.greenmountainaccess.net/centos/"
+"US","VT","TelJet Longhaul LLC","http://www.teljet.net/","http://mirror.teljet.net/centos","",""
+"US","WA","Walla Walla University","http://www.wallawalla.edu/","","ftp://ftp.wallawalla.edu/pub/mirrors/centos/","rsync://ftp.wallawalla.edu/CentOS/"
+"US","WA","Washington State University","http://www.eecs.wsu.edu","http://centos.eecs.wsu.edu/","ftp://centos.eecs.wsu.edu/centos/","rsync://centos.eecs.wsu.edu/centos/"
+"US","WI","TDS Internet Services","http://mirrors.tds.net/","http://centos.mirrors.tds.net/pub/linux/centos/","ftp://centos.mirrors.tds.net/pub/linux/centos/","rsync://centos.mirrors.tds.net/CentOS/"
diff --git a/_layouts/page-download-cloud.html b/_layouts/page-download-cloud.html
deleted file mode 100644
index 54605c8..0000000
--- a/_layouts/page-download-cloud.html
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
-
-{% include head.html %}
-
-
-
- {% include header.html -%}
-
-
-
- {% include footer.html -%}
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/_layouts/page-download-mirror-altarch.html b/_layouts/page-download-mirror-altarch.html
deleted file mode 100644
index 2fdb057..0000000
--- a/_layouts/page-download-mirror-altarch.html
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
-
-{% include head.html %}
-
-
-
- {% include header.html -%}
-
-
-
- {% include footer.html -%}
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/_layouts/page-download-mirror.html b/_layouts/page-download-mirror.html
index eaa612f..2b6421c 100644
--- a/_layouts/page-download-mirror.html
+++ b/_layouts/page-download-mirror.html
@@ -1,43 +1,21 @@
-{% include head.html %}
+{% include head.html -%}
-
{% include header.html -%}
-
-
{% include footer.html -%}
-
-
-
-
-
-
-
-
-
+
+
+
diff --git a/assets/css/styles.min.css b/assets/css/styles.min.css
index 128ab7c..b77d6af 100644
--- a/assets/css/styles.min.css
+++ b/assets/css/styles.min.css
@@ -1 +1 @@
-.brands{color:#313437;background-color:#fff}.brands a{display:block;text-align:center;padding:40px 0}.brands a img{display:inline-block;margin:10px 20px;vertical-align:middle}.breadcrumb-item a,.breadcrumb-item span a,.centos-banner p,.navigation-clean.navbar-dark .navbar-nav .nav-link:focus,.navigation-clean.navbar-dark .navbar-nav .nav-link:hover{color:#fff}.footer-basic{padding:40px 0;background-color:#fff;color:#4b4c4d}.footer-basic ul{padding:0;list-style:none;text-align:center;font-size:18px;line-height:1.6;margin-bottom:0}.footer-basic li{padding:0 10px}.footer-basic ul a,.footer-clean ul a{color:inherit;text-decoration:none;opacity:.8}.footer-basic ul a:hover,.footer-clean ul a:hover,.highlight-clean .buttons .btn:hover{opacity:1}.footer-basic .social{text-align:center;padding-bottom:25px}.footer-basic .social>a{font-size:24px;width:40px;height:40px;line-height:40px;display:inline-block;text-align:center;border-radius:50%;border:1px solid #ccc;margin:0 8px;color:inherit;opacity:.75}.footer-basic .social>a:hover,.footer-clean .item.social>a:hover,.footer-dark .item.social>a:hover{opacity:.9}.footer-basic .copyright{margin-top:15px;text-align:center;font-size:13px;color:#aaa;margin-bottom:0}.jumbotron.text-white{margin-top:1.5em;margin-bottom:1.3em}#carousel-1{margin-bottom:1.5em}.breadcrumb,.footer-dark{margin-top:1.5em}.footer-clean{padding:50px 0;color:#4b4c4d}.footer-clean h3,.footer-dark h3{margin-top:0;margin-bottom:12px;font-weight:700;font-size:16px}.footer-clean ul,.footer-dark ul{padding:0;list-style:none;line-height:1.6;font-size:14px;margin-bottom:0}.footer-clean .item.social{text-align:right}@media (max-width:768px){.footer-clean .item.social{text-align:center}}.footer-clean .item.social>a{font-size:24px;width:40px;height:40px;line-height:40px;display:inline-block;text-align:center;border-radius:50%;border:1px solid #ccc;margin-left:10px;margin-top:22px;color:inherit;opacity:.75}.footer-clean .copyright{margin-top:14px;margin-bottom:0;font-size:13px;opacity:.6}.footer-dark{padding:50px 0;color:#f0f9ff;background-color:#282d32}.footer-dark ul a{color:inherit;text-decoration:none;opacity:.6}.footer-dark ul a:hover{opacity:.8}.footer-dark .item.text{margin-bottom:36px}.footer-dark .item.text p{opacity:.6;margin-bottom:0}.footer-dark .item.social,.highlight-clean .buttons{text-align:center}@media (max-width:991px){.footer-clean .item.social>a{margin-top:40px}.footer-dark .item.social{text-align:center;margin-top:20px}}.footer-dark .item.social>a{font-size:20px;width:36px;height:36px;line-height:36px;display:inline-block;text-align:center;border-radius:50%;box-shadow:0 0 0 1px rgba(255,255,255,.4);margin:0 8px;color:#fff;opacity:.75}.footer-dark .copyright{text-align:center;padding-top:24px;opacity:.3;font-size:13px;margin-bottom:0}.highlight-clean{color:#313437;background-color:#fff;padding:50px 0}.highlight-clean p{color:#7d8285}.highlight-clean h2{font-weight:700;margin-bottom:25px;line-height:1.5;padding-top:0;margin-top:0;color:inherit}.highlight-clean .intro{font-size:16px;max-width:500px;margin:0 auto 25px}.highlight-clean .buttons .btn{padding:16px 32px;margin:6px;border:none;background:#ddd;box-shadow:none;text-shadow:none;opacity:.9;text-transform:uppercase;font-weight:700;font-size:13px;letter-spacing:.4px;line-height:1;outline:0}.highlight-clean .buttons .btn:active{transform:translateY(1px)}.highlight-clean .buttons .btn-primary{background-color:#055ada;color:#fff}.navigation-clean{background:#fff;padding-top:.75rem;padding-bottom:.75rem;color:#333;border-radius:0;box-shadow:none;border:none;margin-bottom:0}.navigation-clean .navbar-brand{font-weight:700;color:inherit}.navigation-clean .navbar-brand:hover{color:#222}.navigation-clean.navbar-dark .navbar-brand:hover{color:#f0f0f0}.navigation-clean .navbar-brand img{height:100%;display:inline-block;margin-right:10px;width:auto}.navigation-clean .navbar-toggler{border-color:#ddd;color:#888}.navigation-clean .navbar-toggler:focus,.navigation-clean .navbar-toggler:hover{background:0 0}.navigation-clean.navbar-dark .navbar-toggler{border-color:#555;color:#eee}.navigation-clean .form-inline,.navigation-clean .navbar-collapse{border-top-color:#ddd}.navigation-clean.navbar-dark .form-inline,.navigation-clean.navbar-dark .navbar-collapse{border-top-color:#333}.navigation-clean .navbar-nav>.active>a,.navigation-clean .navbar-nav>.show>a{background:0 0;box-shadow:none}.navigation-clean.navbar-dark .navbar-nav a.active,.navigation-clean.navbar-dark .navbar-nav a.active:focus,.navigation-clean.navbar-dark .navbar-nav a.active:hover,.navigation-clean.navbar-light .navbar-nav .nav-link.active,.navigation-clean.navbar-light .navbar-nav .nav-link.active:focus,.navigation-clean.navbar-light .navbar-nav .nav-link.active:hover{color:#8f8f8f;box-shadow:none;background:0 0;pointer-events:none}.navigation-clean.navbar .navbar-nav .nav-link{padding-left:18px;padding-right:18px}.navigation-clean.navbar-light .navbar-nav .nav-link{color:#465765}.navigation-clean.navbar-light .navbar-nav .nav-link:focus,.navigation-clean.navbar-light .navbar-nav .nav-link:hover{color:#37434d!important;background-color:transparent}.navigation-clean .navbar-nav>li>.dropdown-menu{margin-top:-5px;box-shadow:none;background-color:#fff;border-radius:2px}@media (min-width:768px){.navigation-clean{padding-top:1rem;padding-bottom:1rem}.navigation-clean .navbar-nav .show .dropdown-menu{box-shadow:0 4px 8px rgba(0,0,0,.1)}}.navigation-clean .dropdown-menu .dropdown-item,.navigation-clean .dropdown-menu .dropdown-item:focus{line-height:2;color:#37434d}.navigation-clean .dropdown-menu .dropdown-item:focus,.navigation-clean .dropdown-menu .dropdown-item:hover{background:#eee;color:inherit}.navigation-clean.navbar-dark{color:#fff;background-color:#37434d}.navigation-clean.navbar-dark .navbar-nav .nav-link{color:#dfe8ee}.navigation-clean.navbar-dark .dropdown-menu .dropdown-item,.navigation-clean.navbar-dark .dropdown-menu .dropdown-item:focus{color:#f2f5f8}.navigation-clean.navbar-dark .dropdown-menu .dropdown-item:focus,.navigation-clean.navbar-dark .dropdown-menu .dropdown-item:hover{background:rgba(255,255,255,.15)}@media (max-width:767px){.brands a{padding:30px 0}.footer-clean .item,.footer-dark .item:not(.social){text-align:center;padding-bottom:20px}.footer-clean .item.social>a{margin-top:10px}.footer-dark .item.text{margin-bottom:0}.navigation-clean .navbar-nav .show .dropdown-menu .dropdown-item{color:#37434d;padding-top:.8rem;padding-bottom:.8rem;line-height:1}.navigation-clean.navbar-dark .navbar-nav .show .dropdown-menu .dropdown-item{color:#fff}}.scrolled{background-color:rgba(0,0,0,.9)!important;-webkit-transition:background-color .5s linear;-moz-transition:background-color .5s linear;-ms-transition:background-color .5s linear;transition:background-color .5s linear}body,html{scroll-padding-top:90px}#table-container-table th{cursor:pointer}#table-container-table th.sorting_asc{background:url(/assets/img/arrow_asc.gif ) right center no-repeat rgba(0,0,0,0);padding-right:30px}#table-container-table th.sorting_desc{background:url(/assets/img/arrow_desc.gif ) right center no-repeat rgba(0,0,0,0);padding-right:30px}.dataTables_info{white-space:nowrap}.breadcrumb{background-color:transparent;padding-left:0;padding-top:0;border-radius:0;font-size:small;margin-top:0}.breadcrumb a,.section-nav a{color:gray}.centos-banner{background-image:url(/assets/img/centos-motif.png);background-color:transparent;background-size:cover}.btn .btn-light .btn-lg{color:#000;font-weight:600}.btn-group-lg>.btn,.btn-lg{margin-right:15px;margin-bottom:15px}.centos-banner-home{padding-top:222px;padding-bottom:150px;margin-bottom:50px}.centos-banner-page{padding-top:168px;padding-bottom:96px}.centos-banner h1{font-weight:600;color:#fff}.centos-content{background-color:#fff;margin-top:50px}.centos-content h2{font-weight:700;border-bottom:1px solid #000}.section-nav{position:sticky;top:72px;align-self:start;padding-top:25px;font-size:small;margin-top:-25px}.section-nav ul{padding-left:1.5em}.footer-clean{margin-top:50px;background-color:#f1f1f1}div#table-container-table_filter.dataTables_filter{margin-top:1em;margin-bottom:1em;font-size:1.25em}nav.navbar.navbar-dark{background-color:#000}.card{margin:10px;border:none}div.card img{height:50px;object-fit:contain}
\ No newline at end of file
+.brands{color:#313437;background-color:#fff}.brands a{display:block;text-align:center;padding:40px 0}.brands a img{display:inline-block;margin:10px 20px;vertical-align:middle}.breadcrumb-item a,.breadcrumb-item span a,.centos-banner p,.navigation-clean.navbar-dark .navbar-nav .nav-link:focus,.navigation-clean.navbar-dark .navbar-nav .nav-link:hover{color:#fff}.footer-basic{padding:40px 0;background-color:#fff;color:#4b4c4d}.footer-basic ul{padding:0;list-style:none;text-align:center;font-size:18px;line-height:1.6;margin-bottom:0}.footer-basic li{padding:0 10px}.footer-basic ul a,.footer-clean ul a{color:inherit;text-decoration:none;opacity:.8}.footer-basic ul a:hover,.footer-clean ul a:hover,.highlight-clean .buttons .btn:hover{opacity:1}.footer-basic .social{text-align:center;padding-bottom:25px}.footer-basic .social>a{font-size:24px;width:40px;height:40px;line-height:40px;display:inline-block;text-align:center;border-radius:50%;border:1px solid #ccc;margin:0 8px;color:inherit;opacity:.75}.footer-basic .social>a:hover,.footer-clean .item.social>a:hover,.footer-dark .item.social>a:hover{opacity:.9}.footer-basic .copyright{margin-top:15px;text-align:center;font-size:13px;color:#aaa;margin-bottom:0}.jumbotron.text-white{margin-top:1.5em;margin-bottom:1.3em}#carousel-1{margin-bottom:1.5em}.breadcrumb,.footer-dark{margin-top:1.5em}.footer-clean{padding:50px 0;color:#4b4c4d}.footer-clean h3,.footer-dark h3{margin-top:0;margin-bottom:12px;font-weight:700;font-size:16px}.footer-clean ul,.footer-dark ul{padding:0;list-style:none;line-height:1.6;font-size:14px;margin-bottom:0}.footer-clean .item.social{text-align:right}@media (max-width:768px){.footer-clean .item.social{text-align:center}}.footer-clean .item.social>a{font-size:24px;width:40px;height:40px;line-height:40px;display:inline-block;text-align:center;border-radius:50%;border:1px solid #ccc;margin-left:10px;margin-top:22px;color:inherit;opacity:.75}.footer-clean .copyright{margin-top:14px;margin-bottom:0;font-size:13px;opacity:.6}.footer-dark{padding:50px 0;color:#f0f9ff;background-color:#282d32}.footer-dark ul a{color:inherit;text-decoration:none;opacity:.6}.footer-dark ul a:hover{opacity:.8}.footer-dark .item.text{margin-bottom:36px}.footer-dark .item.text p{opacity:.6;margin-bottom:0}.footer-dark .item.social,.highlight-clean .buttons{text-align:center}@media (max-width:991px){.footer-clean .item.social>a{margin-top:40px}.footer-dark .item.social{text-align:center;margin-top:20px}}.footer-dark .item.social>a{font-size:20px;width:36px;height:36px;line-height:36px;display:inline-block;text-align:center;border-radius:50%;box-shadow:0 0 0 1px rgba(255,255,255,.4);margin:0 8px;color:#fff;opacity:.75}.footer-dark .copyright{text-align:center;padding-top:24px;opacity:.3;font-size:13px;margin-bottom:0}.highlight-clean{color:#313437;background-color:#fff;padding:50px 0}.highlight-clean p{color:#7d8285}.highlight-clean h2{font-weight:700;margin-bottom:25px;line-height:1.5;padding-top:0;margin-top:0;color:inherit}.highlight-clean .intro{font-size:16px;max-width:500px;margin:0 auto 25px}.highlight-clean .buttons .btn{padding:16px 32px;margin:6px;border:none;background:#ddd;box-shadow:none;text-shadow:none;opacity:.9;text-transform:uppercase;font-weight:700;font-size:13px;letter-spacing:.4px;line-height:1;outline:0}.highlight-clean .buttons .btn:active{transform:translateY(1px)}.highlight-clean .buttons .btn-primary{background-color:#055ada;color:#fff}.navigation-clean{background:#fff;padding-top:.75rem;padding-bottom:.75rem;color:#333;border-radius:0;box-shadow:none;border:none;margin-bottom:0}.navigation-clean .navbar-brand{font-weight:700;color:inherit}.navigation-clean .navbar-brand:hover{color:#222}.navigation-clean.navbar-dark .navbar-brand:hover{color:#f0f0f0}.navigation-clean .navbar-brand img{height:100%;display:inline-block;margin-right:10px;width:auto}.navigation-clean .navbar-toggler{border-color:#ddd;color:#888}.navigation-clean .navbar-toggler:focus,.navigation-clean .navbar-toggler:hover{background:0 0}.navigation-clean.navbar-dark .navbar-toggler{border-color:#555;color:#eee}.navigation-clean .form-inline,.navigation-clean .navbar-collapse{border-top-color:#ddd}.navigation-clean.navbar-dark .form-inline,.navigation-clean.navbar-dark .navbar-collapse{border-top-color:#333}.navigation-clean .navbar-nav>.active>a,.navigation-clean .navbar-nav>.show>a{background:0 0;box-shadow:none}.navigation-clean.navbar-dark .navbar-nav a.active,.navigation-clean.navbar-dark .navbar-nav a.active:focus,.navigation-clean.navbar-dark .navbar-nav a.active:hover,.navigation-clean.navbar-light .navbar-nav .nav-link.active,.navigation-clean.navbar-light .navbar-nav .nav-link.active:focus,.navigation-clean.navbar-light .navbar-nav .nav-link.active:hover{color:#8f8f8f;box-shadow:none;background:0 0;pointer-events:none}.navigation-clean.navbar .navbar-nav .nav-link{padding-left:18px;padding-right:18px}.navigation-clean.navbar-light .navbar-nav .nav-link{color:#465765}.navigation-clean.navbar-light .navbar-nav .nav-link:focus,.navigation-clean.navbar-light .navbar-nav .nav-link:hover{color:#37434d!important;background-color:transparent}.navigation-clean .navbar-nav>li>.dropdown-menu{margin-top:-5px;box-shadow:none;background-color:#fff;border-radius:2px}@media (min-width:768px){.navigation-clean{padding-top:1rem;padding-bottom:1rem}.navigation-clean .navbar-nav .show .dropdown-menu{box-shadow:0 4px 8px rgba(0,0,0,.1)}}.navigation-clean .dropdown-menu .dropdown-item,.navigation-clean .dropdown-menu .dropdown-item:focus{line-height:2;color:#37434d}.navigation-clean .dropdown-menu .dropdown-item:focus,.navigation-clean .dropdown-menu .dropdown-item:hover{background:#eee;color:inherit}.navigation-clean.navbar-dark{color:#fff;background-color:#37434d}.navigation-clean.navbar-dark .navbar-nav .nav-link{color:#dfe8ee}.navigation-clean.navbar-dark .dropdown-menu .dropdown-item,.navigation-clean.navbar-dark .dropdown-menu .dropdown-item:focus{color:#f2f5f8}.navigation-clean.navbar-dark .dropdown-menu .dropdown-item:focus,.navigation-clean.navbar-dark .dropdown-menu .dropdown-item:hover{background:rgba(255,255,255,.15)}@media (max-width:767px){.brands a{padding:30px 0}.footer-clean .item,.footer-dark .item:not(.social){text-align:center;padding-bottom:20px}.footer-clean .item.social>a{margin-top:10px}.footer-dark .item.text{margin-bottom:0}.navigation-clean .navbar-nav .show .dropdown-menu .dropdown-item{color:#37434d;padding-top:.8rem;padding-bottom:.8rem;line-height:1}.navigation-clean.navbar-dark .navbar-nav .show .dropdown-menu .dropdown-item{color:#fff}}#myInput{background-image:url(/assets/img/search-solid.png);background-position:10px;background-repeat:no-repeat;width:100%;padding:12px 20px 12px 50px;border:1px solid #ddd;margin-top:12px;border-top:0;border-left:0;border-right:0}#myTable{border-collapse:collapse;width:100%;border:1px solid #ddd;font-size:small}#myTable td,#myTable th{text-align:left;padding:12px}#myTable tr{border-bottom:1px solid #ddd}#myTable tr.header,#myTable tr:hover{background-color:#f1f1f1}.scrolled{background-color:rgba(0,0,0,.9)!important;-webkit-transition:background-color .5s linear;-moz-transition:background-color .5s linear;-ms-transition:background-color .5s linear;transition:background-color .5s linear}body,html{scroll-padding-top:90px}#table-container-table th{cursor:pointer}#table-container-table th.sorting_asc{background:url(/assets/img/arrow_asc.gif ) right center no-repeat rgba(0,0,0,0);padding-right:30px}#table-container-table th.sorting_desc{background:url(/assets/img/arrow_desc.gif ) right center no-repeat rgba(0,0,0,0);padding-right:30px}.dataTables_info{white-space:nowrap}.breadcrumb{background-color:transparent;padding-left:0;padding-top:0;border-radius:0;font-size:small;margin-top:0}.breadcrumb a,.section-nav a{color:gray}.centos-banner{background-image:url(/assets/img/centos-motif.png);background-color:transparent;background-size:cover}.btn .btn-light .btn-lg{color:#000;font-weight:600}.btn-group-lg>.btn,.btn-lg{margin-right:15px;margin-bottom:15px}.centos-banner-home{padding-top:222px;padding-bottom:150px;margin-bottom:50px}.centos-banner-page{padding-top:168px;padding-bottom:96px}.centos-banner h1{font-weight:600;color:#fff}.centos-content{background-color:#fff;margin-top:50px}.centos-content h2{font-weight:700;border-bottom:1px solid #000}.section-nav{position:sticky;top:72px;align-self:start;padding-top:25px;font-size:small;margin-top:-25px}.section-nav ul{padding-left:1.5em}.footer-clean{margin-top:50px;background-color:#f1f1f1}div#table-container-table_filter.dataTables_filter{margin-top:1em;margin-bottom:1em;font-size:1.25em}nav.navbar.navbar-dark{background-color:#000}.card{margin:10px;border:none}div.card img{height:50px;object-fit:contain}
\ No newline at end of file
diff --git a/assets/img/search-solid.png b/assets/img/search-solid.png
new file mode 100644
index 0000000..8938ed1
Binary files /dev/null and b/assets/img/search-solid.png differ
diff --git a/assets/js/csv_to_html_table.js b/assets/js/csv_to_html_table.js
deleted file mode 100644
index 185134c..0000000
--- a/assets/js/csv_to_html_table.js
+++ /dev/null
@@ -1,64 +0,0 @@
-var CsvToHtmlTable = CsvToHtmlTable || {};
-
-CsvToHtmlTable = {
- init: function (options) {
- options = options || {};
- var csv_path = options.csv_path || "";
- var el = options.element || "table-container";
- var allow_download = options.allow_download || false;
- var csv_options = options.csv_options || {};
- var datatables_options = options.datatables_options || {};
- var custom_formatting = options.custom_formatting || [];
- var customTemplates = {};
- $.each(custom_formatting, function (i, v) {
- var colIdx = v[0];
- var func = v[1];
- customTemplates[colIdx] = func;
- });
-
- var $table = $("");
- var $containerElement = $("#" + el);
- $containerElement.empty().append($table);
-
- $.when($.get(csv_path)).then(
- function (data) {
- var csvData = $.csv.toArrays(data, csv_options);
- var $tableHead = $("");
- var csvHeaderRow = csvData[0];
- var $tableHeadRow = $("
");
- for (var headerIdx = 0; headerIdx < csvHeaderRow.length; headerIdx++) {
- if ( headerIdx != 5 ) {
- $tableHeadRow.append($(" | ").text(csvHeaderRow[headerIdx]));
- }
- }
- $tableHead.append($tableHeadRow);
-
- $table.append($tableHead);
- var $tableBody = $("");
-
- for (var rowIdx = 1; rowIdx < csvData.length; rowIdx++) {
- var $tableBodyRow = $("
");
- for (var colIdx = 0; colIdx < csvData[rowIdx].length; colIdx++) {
- if ( colIdx != 5 ) {
- var $tableBodyRowTd = $(" | ");
- var cellTemplateFunc = customTemplates[colIdx];
- if (cellTemplateFunc) {
- $tableBodyRowTd.html(cellTemplateFunc(csvData[rowIdx][colIdx]));
- } else {
- $tableBodyRowTd.text(csvData[rowIdx][colIdx]);
- }
- $tableBodyRow.append($tableBodyRowTd);
- $tableBody.append($tableBodyRow);
- }
- }
- }
- $table.append($tableBody);
-
- $table.DataTable(datatables_options);
-
- if (allow_download) {
- $containerElement.append(" Download as CSV
");
- }
- });
- }
-};
diff --git a/assets/js/dataTables.bootstrap.js b/assets/js/dataTables.bootstrap.js
deleted file mode 100644
index be7c1e3..0000000
--- a/assets/js/dataTables.bootstrap.js
+++ /dev/null
@@ -1,186 +0,0 @@
-/*! DataTables Bootstrap 3 integration
- * ©2011-2014 SpryMedia Ltd - datatables.net/license
- */
-
-/**
- * DataTables integration for Bootstrap 3. This requires Bootstrap 3 and
- * DataTables 1.10 or newer.
- *
- * This file sets the defaults and adds options to DataTables to style its
- * controls using Bootstrap. See http://datatables.net/manual/styling/bootstrap
- * for further information.
- */
-(function(window, document, undefined){
-
-var factory = function( $, DataTable ) {
-"use strict";
-
-
-/* Set the defaults for DataTables initialisation */
-$.extend( true, DataTable.defaults, {
- dom:
- "<'row'<'col-sm-0'l><'col-sm-12'f>>" +
- "<'row'<'col-sm-12'tr>>" +
- "<'row'<'col-sm-5'i><'col-sm-7'p>>",
- renderer: 'bootstrap'
-} );
-
-
-/* Default class modification */
-$.extend( DataTable.ext.classes, {
- sWrapper: "dataTables_wrapper form-inline dt-bootstrap",
- sFilterInput: "form-control input-sm",
- sLengthSelect: "form-control input-sm"
-} );
-
-
-/* Bootstrap paging button renderer */
-DataTable.ext.renderer.pageButton.bootstrap = function ( settings, host, idx, buttons, page, pages ) {
- var api = new DataTable.Api( settings );
- var classes = settings.oClasses;
- var lang = settings.oLanguage.oPaginate;
- var btnDisplay, btnClass;
-
- var attach = function( container, buttons ) {
- var i, ien, node, button;
- var clickHandler = function ( e ) {
- e.preventDefault();
- if ( !$(e.currentTarget).hasClass('disabled') ) {
- api.page( e.data.action ).draw( false );
- }
- };
-
- for ( i=0, ien=buttons.length ; i 0 ?
- '' : ' disabled');
- break;
-
- case 'previous':
- btnDisplay = lang.sPrevious;
- btnClass = button + (page > 0 ?
- '' : ' disabled');
- break;
-
- case 'next':
- btnDisplay = lang.sNext;
- btnClass = button + (page < pages-1 ?
- '' : ' disabled');
- break;
-
- case 'last':
- btnDisplay = lang.sLast;
- btnClass = button + (page < pages-1 ?
- '' : ' disabled');
- break;
-
- default:
- btnDisplay = button + 1;
- btnClass = page === button ?
- 'active' : '';
- break;
- }
-
- if ( btnDisplay ) {
- node = $('', {
- 'class': classes.sPageButton+' '+btnClass,
- 'aria-controls': settings.sTableId,
- 'tabindex': settings.iTabIndex,
- 'id': idx === 0 && typeof button === 'string' ?
- settings.sTableId +'_'+ button :
- null
- } )
- .append( $('', {
- 'href': '#'
- } )
- .html( btnDisplay )
- )
- .appendTo( container );
-
- settings.oApi._fnBindAction(
- node, {action: button}, clickHandler
- );
- }
- }
- }
- };
-
- attach(
- $(host).empty().html('').children('ul'),
- buttons
- );
-};
-
-
-/*
- * TableTools Bootstrap compatibility
- * Required TableTools 2.1+
- */
-if ( DataTable.TableTools ) {
- // Set the classes that TableTools uses to something suitable for Bootstrap
- $.extend( true, DataTable.TableTools.classes, {
- "container": "DTTT btn-group",
- "buttons": {
- "normal": "btn btn-default",
- "disabled": "disabled"
- },
- "collection": {
- "container": "DTTT_dropdown dropdown-menu",
- "buttons": {
- "normal": "",
- "disabled": "disabled"
- }
- },
- "print": {
- "info": "DTTT_print_info"
- },
- "select": {
- "row": "active"
- }
- } );
-
- // Have the collection use a bootstrap compatible drop down
- $.extend( true, DataTable.TableTools.DEFAULTS.oTags, {
- "collection": {
- "container": "ul",
- "button": "li",
- "liner": "a"
- }
- } );
-}
-
-}; // /factory
-
-
-// Define as an AMD module if possible
-if ( typeof define === 'function' && define.amd ) {
- define( ['jquery', 'datatables'], factory );
-}
-else if ( typeof exports === 'object' ) {
- // Node/CommonJS
- factory( require('jquery'), require('datatables') );
-}
-else if ( jQuery ) {
- // Otherwise simply initialise as normal, stopping multiple evaluation
- factory( jQuery, jQuery.fn.dataTable );
-}
-
-
-})(window, document);
-
diff --git a/assets/js/jquery.csv.min.js b/assets/js/jquery.csv.min.js
deleted file mode 100644
index 23e6193..0000000
--- a/assets/js/jquery.csv.min.js
+++ /dev/null
@@ -1,73 +0,0 @@
-
-RegExp.escape=function(s){return s.replace(/[-\/\\^$*+?.()|[\]{}]/g,'\\$&');};(function($){'use strict'
-$.csv={defaults:{separator:',',delimiter:'"',headers:true},hooks:{castToScalar:function(value,state){var hasDot=/\./;if(isNaN(value)){return value;}else{if(hasDot.test(value)){return parseFloat(value);}else{var integer=parseInt(value);if(isNaN(integer)){return null;}else{return integer;}}}}},parsers:{parse:function(csv,options){var separator=options.separator;var delimiter=options.delimiter;if(!options.state.rowNum){options.state.rowNum=1;}
-if(!options.state.colNum){options.state.colNum=1;}
-var data=[];var entry=[];var state=0;var value=''
-var exit=false;function endOfEntry(){state=0;value='';if(options.start&&options.state.rowNum=options.end){exit=true;}
-options.state.rowNum++;options.state.colNum=1;}
-function endOfValue(){if(options.onParseValue===undefined){entry.push(value);}else{var hook=options.onParseValue(value,options.state);if(hook!==false){entry.push(hook);}}
-value='';state=0;options.state.colNum++;}
-var escSeparator=RegExp.escape(separator);var escDelimiter=RegExp.escape(delimiter);var match=/(D|S|\n|\r|[^DS\r\n]+)/;var matchSrc=match.source;matchSrc=matchSrc.replace(/S/g,escSeparator);matchSrc=matchSrc.replace(/D/g,escDelimiter);match=RegExp(matchSrc,'gm');csv.replace(match,function(m0){if(exit){return;}
-switch(state){case 0:if(m0===separator){value+='';endOfValue();break;}
-if(m0===delimiter){state=1;break;}
-if(m0==='\n'){endOfValue();endOfEntry();break;}
-if(/^\r$/.test(m0)){break;}
-value+=m0;state=3;break;case 1:if(m0===delimiter){state=2;break;}
-value+=m0;state=1;break;case 2:if(m0===delimiter){value+=m0;state=1;break;}
-if(m0===separator){endOfValue();break;}
-if(m0==='\n'){endOfValue();endOfEntry();break;}
-if(/^\r$/.test(m0)){break;}
-throw new Error('CSVDataError: Illegal State [Row:'+options.state.rowNum+'][Col:'+options.state.colNum+']');case 3:if(m0===separator){endOfValue();break;}
-if(m0==='\n'){endOfValue();endOfEntry();break;}
-if(/^\r$/.test(m0)){break;}
-if(m0===delimiter){throw new Error('CSVDataError: Illegal Quote [Row:'+options.state.rowNum+'][Col:'+options.state.colNum+']');}
-throw new Error('CSVDataError: Illegal Data [Row:'+options.state.rowNum+'][Col:'+options.state.colNum+']');default:throw new Error('CSVDataError: Unknown State [Row:'+options.state.rowNum+'][Col:'+options.state.colNum+']');}});if(entry.length!==0){endOfValue();endOfEntry();}
-return data;},splitLines:function(csv,options){var separator=options.separator;var delimiter=options.delimiter;if(!options.state.rowNum){options.state.rowNum=1;}
-var entries=[];var state=0;var entry='';var exit=false;function endOfLine(){state=0;if(options.start&&options.state.rowNum=options.end){exit=true;}
-options.state.rowNum++;}
-var escSeparator=RegExp.escape(separator);var escDelimiter=RegExp.escape(delimiter);var match=/(D|S|\n|\r|[^DS\r\n]+)/;var matchSrc=match.source;matchSrc=matchSrc.replace(/S/g,escSeparator);matchSrc=matchSrc.replace(/D/g,escDelimiter);match=RegExp(matchSrc,'gm');csv.replace(match,function(m0){if(exit){return;}
-switch(state){case 0:if(m0===separator){entry+=m0;state=0;break;}
-if(m0===delimiter){entry+=m0;state=1;break;}
-if(m0==='\n'){endOfLine();break;}
-if(/^\r$/.test(m0)){break;}
-entry+=m0;state=3;break;case 1:if(m0===delimiter){entry+=m0;state=2;break;}
-entry+=m0;state=1;break;case 2:var prevChar=entry.substr(entry.length-1);if(m0===delimiter&&prevChar===delimiter){entry+=m0;state=1;break;}
-if(m0===separator){entry+=m0;state=0;break;}
-if(m0==='\n'){endOfLine();break;}
-if(m0==='\r'){break;}
-throw new Error('CSVDataError: Illegal state [Row:'+options.state.rowNum+']');case 3:if(m0===separator){entry+=m0;state=0;break;}
-if(m0==='\n'){endOfLine();break;}
-if(m0==='\r'){break;}
-if(m0===delimiter){throw new Error('CSVDataError: Illegal quote [Row:'+options.state.rowNum+']');}
-throw new Error('CSVDataError: Illegal state [Row:'+options.state.rowNum+']');default:throw new Error('CSVDataError: Unknown state [Row:'+options.state.rowNum+']');}});if(entry!==''){endOfLine();}
-return entries;},parseEntry:function(csv,options){var separator=options.separator;var delimiter=options.delimiter;if(!options.state.rowNum){options.state.rowNum=1;}
-if(!options.state.colNum){options.state.colNum=1;}
-var entry=[];var state=0;var value='';function endOfValue(){if(options.onParseValue===undefined){entry.push(value);}else{var hook=options.onParseValue(value,options.state);if(hook!==false){entry.push(hook);}}
-value='';state=0;options.state.colNum++;}
-if(!options.match){var escSeparator=RegExp.escape(separator);var escDelimiter=RegExp.escape(delimiter);var match=/(D|S|\n|\r|[^DS\r\n]+)/;var matchSrc=match.source;matchSrc=matchSrc.replace(/S/g,escSeparator);matchSrc=matchSrc.replace(/D/g,escDelimiter);options.match=RegExp(matchSrc,'gm');}
-csv.replace(options.match,function(m0){switch(state){case 0:if(m0===separator){value+='';endOfValue();break;}
-if(m0===delimiter){state=1;break;}
-if(m0==='\n'||m0==='\r'){break;}
-value+=m0;state=3;break;case 1:if(m0===delimiter){state=2;break;}
-value+=m0;state=1;break;case 2:if(m0===delimiter){value+=m0;state=1;break;}
-if(m0===separator){endOfValue();break;}
-if(m0==='\n'||m0==='\r'){break;}
-throw new Error('CSVDataError: Illegal State [Row:'+options.state.rowNum+'][Col:'+options.state.colNum+']');case 3:if(m0===separator){endOfValue();break;}
-if(m0==='\n'||m0==='\r'){break;}
-if(m0===delimiter){throw new Error('CSVDataError: Illegal Quote [Row:'+options.state.rowNum+'][Col:'+options.state.colNum+']');}
-throw new Error('CSVDataError: Illegal Data [Row:'+options.state.rowNum+'][Col:'+options.state.colNum+']');default:throw new Error('CSVDataError: Unknown State [Row:'+options.state.rowNum+'][Col:'+options.state.colNum+']');}});endOfValue();return entry;}},toArray:function(csv,options,callback){var options=(options!==undefined?options:{});var config={};config.callback=((callback!==undefined&&typeof(callback)==='function')?callback:false);config.separator='separator'in options?options.separator:$.csv.defaults.separator;config.delimiter='delimiter'in options?options.delimiter:$.csv.defaults.delimiter;var state=(options.state!==undefined?options.state:{});var options={delimiter:config.delimiter,separator:config.separator,onParseEntry:options.onParseEntry,onParseValue:options.onParseValue,state:state}
-var entry=$.csv.parsers.parseEntry(csv,options);if(!config.callback){return entry;}else{config.callback('',entry);}},toArrays:function(csv,options,callback){var options=(options!==undefined?options:{});var config={};config.callback=((callback!==undefined&&typeof(callback)==='function')?callback:false);config.separator='separator'in options?options.separator:$.csv.defaults.separator;config.delimiter='delimiter'in options?options.delimiter:$.csv.defaults.delimiter;var data=[];var options={delimiter:config.delimiter,separator:config.separator,onParseEntry:options.onParseEntry,onParseValue:options.onParseValue,start:options.start,end:options.end,state:{rowNum:1,colNum:1}};data=$.csv.parsers.parse(csv,options);if(!config.callback){return data;}else{config.callback('',data);}},toObjects:function(csv,options,callback){var options=(options!==undefined?options:{});var config={};config.callback=((callback!==undefined&&typeof(callback)==='function')?callback:false);config.separator='separator'in options?options.separator:$.csv.defaults.separator;config.delimiter='delimiter'in options?options.delimiter:$.csv.defaults.delimiter;config.headers='headers'in options?options.headers:$.csv.defaults.headers;options.start='start'in options?options.start:1;if(config.headers){options.start++;}
-if(options.end&&config.headers){options.end++;}
-var lines=[];var data=[];var options={delimiter:config.delimiter,separator:config.separator,onParseEntry:options.onParseEntry,onParseValue:options.onParseValue,start:options.start,end:options.end,state:{rowNum:1,colNum:1},match:false};var headerOptions={delimiter:config.delimiter,separator:config.separator,start:1,end:1,state:{rowNum:1,colNum:1}}
-var headerLine=$.csv.parsers.splitLines(csv,headerOptions);var headers=$.csv.toArray(headerLine[0],options);var lines=$.csv.parsers.splitLines(csv,options);options.state.colNum=1;if(headers){options.state.rowNum=2;}else{options.state.rowNum=1;}
-for(var i=0,len=lines.length;i").css({position:"absolute",top:0,left:0,height:1,width:1,overflow:"hidden"}).append(h("").css({position:"absolute",
-top:1,left:1,width:100,overflow:"scroll"}).append(h('').css({width:"100%",height:10}))).appendTo("body"),c=b.find(".test");a.bScrollOversize=100===c[0].offsetWidth;a.bScrollbarLeft=1!==Math.round(c.offset().left);b.remove()}function hb(a,b,c,e,d,f){var g,i=!1;c!==k&&(g=c,i=!0);for(;e!==d;)a.hasOwnProperty(e)&&(g=i?b(g,a[e],e,a):a[e],i=!0,e+=f);return g}function Fa(a,b){var c=m.defaults.column,e=a.aoColumns.length,c=h.extend({},m.models.oColumn,c,{nTh:b?b:P.createElement("th"),sTitle:c.sTitle?
-c.sTitle:b?b.innerHTML:"",aDataSort:c.aDataSort?c.aDataSort:[e],mData:c.mData?c.mData:e,idx:e});a.aoColumns.push(c);c=a.aoPreSearchCols;c[e]=h.extend({},m.models.oSearch,c[e]);ka(a,e,h(b).data())}function ka(a,b,c){var b=a.aoColumns[b],e=a.oClasses,d=h(b.nTh);if(!b.sWidthOrig){b.sWidthOrig=d.attr("width")||null;var f=(d.attr("style")||"").match(/width:\s*(\d+[pxem%]+)/);f&&(b.sWidthOrig=f[1])}c!==k&&null!==c&&(fb(c),H(m.defaults.column,c),c.mDataProp!==k&&!c.mData&&(c.mData=c.mDataProp),c.sType&&
-(b._sManualType=c.sType),c.className&&!c.sClass&&(c.sClass=c.className),h.extend(b,c),E(b,c,"sWidth","sWidthOrig"),c.iDataSort!==k&&(b.aDataSort=[c.iDataSort]),E(b,c,"aDataSort"));var g=b.mData,i=W(g),j=b.mRender?W(b.mRender):null,c=function(a){return"string"===typeof a&&-1!==a.indexOf("@")};b._bAttrSrc=h.isPlainObject(g)&&(c(g.sort)||c(g.type)||c(g.filter));b.fnGetData=function(a,b,c){var e=i(a,b,k,c);return j&&b?j(e,b,a,c):e};b.fnSetData=function(a,b,c){return Q(g)(a,b,c)};"number"!==typeof g&&
-(a._rowReadObject=!0);a.oFeatures.bSort||(b.bSortable=!1,d.addClass(e.sSortableNone));a=-1!==h.inArray("asc",b.asSorting);c=-1!==h.inArray("desc",b.asSorting);!b.bSortable||!a&&!c?(b.sSortingClass=e.sSortableNone,b.sSortingClassJUI=""):a&&!c?(b.sSortingClass=e.sSortableAsc,b.sSortingClassJUI=e.sSortJUIAscAllowed):!a&&c?(b.sSortingClass=e.sSortableDesc,b.sSortingClassJUI=e.sSortJUIDescAllowed):(b.sSortingClass=e.sSortable,b.sSortingClassJUI=e.sSortJUI)}function X(a){if(!1!==a.oFeatures.bAutoWidth){var b=
-a.aoColumns;Ga(a);for(var c=0,e=b.length;cq[f])e(l.length+q[f],n);else if("string"===typeof q[f]){i=0;for(j=l.length;ib&&a[d]--; -1!=e&&c===k&&a.splice(e,1)}function ca(a,b,c,e){var d=a.aoData[b],f,g=function(c,f){for(;c.childNodes.length;)c.removeChild(c.firstChild);c.innerHTML=y(a,b,f,"display")};if("dom"===c||(!c||"auto"===c)&&"dom"===d.src)d._aData=na(a,d,e,e===k?k:d._aData).data;else{var i=d.anCells;if(i)if(e!==k)g(i[e],e);else{c=0;for(f=i.length;c").appendTo(g));b=0;for(c=l.length;btr").attr("role","row");h(g).find(">tr>th, >tr>td").addClass(n.sHeaderTH);
-h(i).find(">tr>th, >tr>td").addClass(n.sFooterTH);if(null!==i){a=a.aoFooter[0];b=0;for(c=a.length;b=a.fnRecordsDisplay()?0:g,a.iInitDisplayStart=-1);var g=a._iDisplayStart,n=a.fnDisplayEnd();if(a.bDeferLoading)a.bDeferLoading=!1,a.iDraw++,C(a,!1);else if(i){if(!a.bDestroying&&!kb(a))return}else a.iDraw++;if(0!==j.length){f=i?a.aoData.length:n;for(i=i?0:g;i",{"class":d?e[0]:""}).append(h(" | ",{valign:"top",colSpan:aa(a),"class":a.oClasses.sRowEmpty}).html(c))[0];w(a,"aoHeaderCallback","header",[h(a.nTHead).children("tr")[0],La(a),g,n,j]);w(a,"aoFooterCallback","footer",[h(a.nTFoot).children("tr")[0],La(a),g,n,j]);e=h(a.nTBody);e.children().detach();e.append(h(b));w(a,"aoDrawCallback","draw",[a]);a.bSorted=!1;a.bFiltered=!1;a.bDrawing=
-!1}}function N(a,b){var c=a.oFeatures,e=c.bFilter;c.bSort&&lb(a);e?fa(a,a.oPreviousSearch):a.aiDisplay=a.aiDisplayMaster.slice();!0!==b&&(a._iDisplayStart=0);a._drawHold=b;M(a);a._drawHold=!1}function mb(a){var b=a.oClasses,c=h(a.nTable),c=h("").insertBefore(c),e=a.oFeatures,d=h("",{id:a.sTableId+"_wrapper","class":b.sWrapper+(a.nTFoot?"":" "+b.sNoFooter)});a.nHolding=c[0];a.nTableWrapper=d[0];a.nTableReinsertBefore=a.nTable.nextSibling;for(var f=a.sDom.split(""),g,i,j,n,l,q,o=0;o")[0];n=f[o+1];if("'"==n||'"'==n){l="";for(q=2;f[o+q]!=n;)l+=f[o+q],q++;"H"==l?l=b.sJUIHeader:"F"==l&&(l=b.sJUIFooter);-1!=l.indexOf(".")?(n=l.split("."),j.id=n[0].substr(1,n[0].length-1),j.className=n[1]):"#"==l.charAt(0)?j.id=l.substr(1,l.length-1):j.className=l;o+=q}d.append(j);d=h(j)}else if(">"==i)d=d.parent();else if("l"==i&&e.bPaginate&&e.bLengthChange)g=nb(a);else if("f"==i&&e.bFilter)g=ob(a);else if("r"==i&&e.bProcessing)g=pb(a);else if("t"==i)g=qb(a);else if("i"==
-i&&e.bInfo)g=rb(a);else if("p"==i&&e.bPaginate)g=sb(a);else if(0!==m.ext.feature.length){j=m.ext.feature;q=0;for(n=j.length;q',i=e.sSearch,i=i.match(/_INPUT_/)?i.replace("_INPUT_",g):i+g,b=h("",{id:!f.f?c+"_filter":null,"class":b.sFilter}).append(h("").append(i)),f=function(){var b=!this.value?"":this.value;b!=d.sSearch&&
-(fa(a,{sSearch:b,bRegex:d.bRegex,bSmart:d.bSmart,bCaseInsensitive:d.bCaseInsensitive}),a._iDisplayStart=0,M(a))},g=null!==a.searchDelay?a.searchDelay:"ssp"===B(a)?400:0,j=h("input",b).val(d.sSearch).attr("placeholder",e.sSearchPlaceholder).bind("keyup.DT search.DT input.DT paste.DT cut.DT",g?ua(f,g):f).bind("keypress.DT",function(a){if(13==a.keyCode)return!1}).attr("aria-controls",c);h(a.nTable).on("search.dt.DT",function(b,c){if(a===c)try{j[0]!==P.activeElement&&j.val(d.sSearch)}catch(f){}});return b[0]}
-function fa(a,b,c){var e=a.oPreviousSearch,d=a.aoPreSearchCols,f=function(a){e.sSearch=a.sSearch;e.bRegex=a.bRegex;e.bSmart=a.bSmart;e.bCaseInsensitive=a.bCaseInsensitive};Ha(a);if("ssp"!=B(a)){vb(a,b.sSearch,c,b.bEscapeRegex!==k?!b.bEscapeRegex:b.bRegex,b.bSmart,b.bCaseInsensitive);f(b);for(b=0;b=b.length)a.aiDisplay=f.slice();else{if(g||
-c||d.length>b.length||0!==b.indexOf(d)||a.bSorted)a.aiDisplay=f.slice();b=a.aiDisplay;for(c=b.length-1;0<=c;c--)e.test(a.aoData[b[c]]._sFilterRow)||b.splice(c,1)}}function Qa(a,b,c,e){a=b?a:va(a);c&&(a="^(?=.*?"+h.map(a.match(/"[^"]+"|[^ ]+/g)||"",function(a){if('"'===a.charAt(0))var b=a.match(/^"(.*)"$/),a=b?b[1]:a;return a.replace('"',"")}).join(")(?=.*?")+").*$");return RegExp(a,e?"i":"")}function va(a){return a.replace(Yb,"\\$1")}function yb(a){var b=a.aoColumns,c,e,d,f,g,i,j,h,l=m.ext.type.search;
-c=!1;e=0;for(f=a.aoData.length;e",{"class":a.oClasses.sInfo,id:!c?b+"_info":null});c||(a.aoDrawCallback.push({fn:Bb,sName:"information"}),e.attr("role","status").attr("aria-live","polite"),h(a.nTable).attr("aria-describedby",b+"_info"));return e[0]}function Bb(a){var b=a.aanFeatures.i;if(0!==b.length){var c=a.oLanguage,e=a._iDisplayStart+
-1,d=a.fnDisplayEnd(),f=a.fnRecordsTotal(),g=a.fnRecordsDisplay(),i=g?c.sInfo:c.sInfoEmpty;g!==f&&(i+=" "+c.sInfoFiltered);i+=c.sInfoPostFix;i=Cb(a,i);c=c.fnInfoCallback;null!==c&&(i=c.call(a.oInstance,a,e,d,f,g,i));h(b).html(i)}}function Cb(a,b){var c=a.fnFormatNumber,e=a._iDisplayStart+1,d=a._iDisplayLength,f=a.fnRecordsDisplay(),g=-1===d;return b.replace(/_START_/g,c.call(a,e)).replace(/_END_/g,c.call(a,a.fnDisplayEnd())).replace(/_MAX_/g,c.call(a,a.fnRecordsTotal())).replace(/_TOTAL_/g,c.call(a,
-f)).replace(/_PAGE_/g,c.call(a,g?1:Math.ceil(e/d))).replace(/_PAGES_/g,c.call(a,g?1:Math.ceil(f/d)))}function ga(a){var b,c,e=a.iInitDisplayStart,d=a.aoColumns,f;c=a.oFeatures;if(a.bInitialised){mb(a);jb(a);ea(a,a.aoHeader);ea(a,a.aoFooter);C(a,!0);c.bAutoWidth&&Ga(a);b=0;for(c=d.length;b",{name:c+"_length","aria-controls":c,"class":b.sLengthSelect}),g=0,i=f.length;g").addClass(b.sLength);
-a.aanFeatures.l||(j[0].id=c+"_length");j.children().append(a.oLanguage.sLengthMenu.replace("_MENU_",d[0].outerHTML));h("select",j).val(a._iDisplayLength).bind("change.DT",function(){Ra(a,h(this).val());M(a)});h(a.nTable).bind("length.dt.DT",function(b,c,f){a===c&&h("select",j).val(f)});return j[0]}function sb(a){var b=a.sPaginationType,c=m.ext.pager[b],e="function"===typeof c,d=function(a){M(a)},b=h("").addClass(a.oClasses.sPaging+b)[0],f=a.aanFeatures;e||c.fnInit(a,b,d);f.p||(b.id=a.sTableId+
-"_paginate",a.aoDrawCallback.push({fn:function(a){if(e){var b=a._iDisplayStart,h=a._iDisplayLength,n=a.fnRecordsDisplay(),l=-1===h,b=l?0:Math.ceil(b/h),h=l?1:Math.ceil(n/h),n=c(b,h),q,l=0;for(q=f.p.length;lf&&(e=0)):"first"==b?e=0:"previous"==b?(e=0<=d?e-d:0,0>e&&(e=0)):"next"==
-b?e+d",{id:!a.aanFeatures.r?a.sTableId+"_processing":null,"class":a.oClasses.sProcessing}).html(a.oLanguage.sProcessing).insertBefore(a.nTable)[0]}function C(a,b){a.oFeatures.bProcessing&&h(a.aanFeatures.r).css("display",b?"block":"none");w(a,null,"processing",[a,b])}function qb(a){var b=h(a.nTable);b.attr("role",
-"grid");var c=a.oScroll;if(""===c.sX&&""===c.sY)return a.nTable;var e=c.sX,d=c.sY,f=a.oClasses,g=b.children("caption"),i=g.length?g[0]._captionSide:null,j=h(b[0].cloneNode(!1)),n=h(b[0].cloneNode(!1)),l=b.children("tfoot");c.sX&&"100%"===b.attr("width")&&b.removeAttr("width");l.length||(l=null);c=h("",{"class":f.sScrollWrapper}).append(h("",{"class":f.sScrollHead}).css({overflow:"hidden",position:"relative",border:0,width:e?!e?null:s(e):"100%"}).append(h("",{"class":f.sScrollHeadInner}).css({"box-sizing":"content-box",
-width:c.sXInner||"100%"}).append(j.removeAttr("id").css("margin-left",0).append("top"===i?g:null).append(b.children("thead"))))).append(h("",{"class":f.sScrollBody}).css({overflow:"auto",height:!d?null:s(d),width:!e?null:s(e)}).append(b));l&&c.append(h("",{"class":f.sScrollFoot}).css({overflow:"hidden",border:0,width:e?!e?null:s(e):"100%"}).append(h("",{"class":f.sScrollFootInner}).append(n.removeAttr("id").css("margin-left",0).append("bottom"===i?g:null).append(b.children("tfoot")))));
-var b=c.children(),q=b[0],f=b[1],o=l?b[2]:null;if(e)h(f).on("scroll.DT",function(){var a=this.scrollLeft;q.scrollLeft=a;l&&(o.scrollLeft=a)});a.nScrollHead=q;a.nScrollBody=f;a.nScrollFoot=o;a.aoDrawCallback.push({fn:Y,sName:"scrolling"});return c[0]}function Y(a){var b=a.oScroll,c=b.sX,e=b.sXInner,d=b.sY,f=b.iBarWidth,g=h(a.nScrollHead),i=g[0].style,j=g.children("div"),n=j[0].style,l=j.children("table"),j=a.nScrollBody,q=h(j),o=j.style,k=h(a.nScrollFoot).children("div"),p=k.children("table"),m=h(a.nTHead),
-r=h(a.nTable),t=r[0],u=t.style,K=a.nTFoot?h(a.nTFoot):null,ha=a.oBrowser,w=ha.bScrollOversize,x,v,y,L,z,A=[],B=[],C=[],D,E=function(a){a=a.style;a.paddingTop="0";a.paddingBottom="0";a.borderTopWidth="0";a.borderBottomWidth="0";a.height=0};r.children("thead, tfoot").remove();z=m.clone().prependTo(r);x=m.find("tr");y=z.find("tr");z.find("th, td").removeAttr("tabindex");K&&(L=K.clone().prependTo(r),v=K.find("tr"),L=L.find("tr"));c||(o.width="100%",g[0].style.width="100%");h.each(qa(a,z),function(b,c){D=
-la(a,b);c.style.width=a.aoColumns[D].sWidth});K&&G(function(a){a.style.width=""},L);b.bCollapse&&""!==d&&(o.height=q[0].offsetHeight+m[0].offsetHeight+"px");g=r.outerWidth();if(""===c){if(u.width="100%",w&&(r.find("tbody").height()>j.offsetHeight||"scroll"==q.css("overflow-y")))u.width=s(r.outerWidth()-f)}else""!==e?u.width=s(e):g==q.width()&&q.height()g-f&&(u.width=s(g))):u.width=s(g);g=r.outerWidth();G(E,y);G(function(a){C.push(a.innerHTML);A.push(s(h(a).css("width")))},
-y);G(function(a,b){a.style.width=A[b]},x);h(y).height(0);K&&(G(E,L),G(function(a){B.push(s(h(a).css("width")))},L),G(function(a,b){a.style.width=B[b]},v),h(L).height(0));G(function(a,b){a.innerHTML=''+C[b]+"
";a.style.width=A[b]},y);K&&G(function(a,b){a.innerHTML="";a.style.width=B[b]},L);if(r.outerWidth()j.offsetHeight||"scroll"==q.css("overflow-y")?g+f:g;if(w&&(j.scrollHeight>j.offsetHeight||"scroll"==q.css("overflow-y")))u.width=
-s(v-f);(""===c||""!==e)&&R(a,1,"Possible column misalignment",6)}else v="100%";o.width=s(v);i.width=s(v);K&&(a.nScrollFoot.style.width=s(v));!d&&w&&(o.height=s(t.offsetHeight+f));d&&b.bCollapse&&(o.height=s(d),b=c&&t.offsetWidth>j.offsetWidth?f:0,t.offsetHeightj.clientHeight||"scroll"==q.css("overflow-y");ha="padding"+(ha.bScrollbarLeft?"Left":"Right");n[ha]=l?f+"px":"0px";K&&(p[0].style.width=
-s(b),k[0].style.width=s(b),k[0].style[ha]=l?f+"px":"0px");q.scroll();if((a.bSorted||a.bFiltered)&&!a._drawHold)j.scrollTop=0}function G(a,b,c){for(var e=0,d=0,f=b.length,g,i;d
"));i.find("tfoot th, tfoot td").css("width","");var p=i.find("tbody tr"),j=qa(a,i.find("thead")[0]);for(o=0;o").css("width",s(a)).appendTo(b||P.body),e=c[0].offsetWidth;c.remove();
-return e}function Fb(a,b){var c=a.oScroll;if(c.sX||c.sY)c=!c.sX?c.iBarWidth:0,b.style.width=s(h(b).outerWidth()-c)}function Eb(a,b){var c=Gb(a,b);if(0>c)return null;var e=a.aoData[c];return!e.nTr?h(" | ").html(y(a,c,b,"display"))[0]:e.anCells[b]}function Gb(a,b){for(var c,e=-1,d=-1,f=0,g=a.aoData.length;fe&&(e=c.length,d=f);return d}function s(a){return null===a?"0px":"number"==typeof a?0>a?"0px":a+"px":a.match(/\d$/)?a+"px":a}function Hb(){var a=
-m.__scrollbarWidth;if(a===k){var b=h("").css({position:"absolute",top:0,left:0,width:"100%",height:150,padding:0,overflow:"scroll",visibility:"hidden"}).appendTo("body"),a=b[0].offsetWidth-b[0].clientWidth;m.__scrollbarWidth=a;b.remove()}return a}function T(a){var b,c,e=[],d=a.aoColumns,f,g,i,j;b=a.aaSortingFixed;c=h.isPlainObject(b);var n=[];f=function(a){a.length&&!h.isArray(a[0])?n.push(a):n.push.apply(n,a)};h.isArray(b)&&f(b);c&&b.pre&&f(b.pre);f(a.aaSorting);c&&b.post&&f(b.post);for(a=0;a<
-n.length;a++){j=n[a][0];f=d[j].aDataSort;b=0;for(c=f.length;bd?1:0,0!==c)return"asc"===h.dir?c:-c;c=e[a];d=e[b];return cd?1:0}):h.sort(function(a,b){var c,g,h,i,j=n.length,k=f[a]._aSortData,m=f[b]._aSortData;for(h=0;hg?1:0})}a.bSorted=!0}function Jb(a){for(var b,c,e=a.aoColumns,d=
-T(a),a=a.oLanguage.oAria,f=0,g=e.length;f/g,"");var h=c.nTh;h.removeAttribute("aria-sort");c.bSortable&&(0d?d+1:3));d=0;for(f=e.length;dd?d+1:3))}a.aLastSort=e}function Ib(a,b){var c=a.aoColumns[b],e=m.ext.order[c.sSortDataType],d;e&&(d=e.call(a.oInstance,
-a,b,$(a,b)));for(var f,g=m.ext.type.order[c.sType+"-pre"],h=0,j=a.aoData.length;h=e.length?[0,c[1]]:c)}));d.search!==k&&h.extend(a.oPreviousSearch,Ab(d.search));b=0;for(c=d.columns.length;b=c&&(b=c-e);b-=b%e;if(-1===e||0>b)b=0;a._iDisplayStart=b}function Pa(a,b){var c=a.renderer,e=m.ext.renderer[b];return h.isPlainObject(c)&&c[b]?e[c[b]]||e._:"string"===typeof c?e[c]||e._:e._}function B(a){return a.oFeatures.bServerSide?"ssp":a.ajax||a.sAjaxSource?"ajax":"dom"}function Wa(a,b){var c=[],c=Mb.numbers_length,e=Math.floor(c/2);b<=c?c=U(0,b):a<=e?(c=U(0,c-2),c.push("ellipsis"),
-c.push(b-1)):(a>=b-1-e?c=U(b-(c-2),b):(c=U(a-e+2,a+e-1),c.push("ellipsis"),c.push(b-1)),c.splice(0,0,"ellipsis"),c.splice(0,0,0));c.DT_el="span";return c}function db(a){h.each({num:function(b){return Aa(b,a)},"num-fmt":function(b){return Aa(b,a,Xa)},"html-num":function(b){return Aa(b,a,Ba)},"html-num-fmt":function(b){return Aa(b,a,Ba,Xa)}},function(b,c){x.type.order[b+a+"-pre"]=c;b.match(/^html\-/)&&(x.type.search[b+a]=x.type.search.html)})}function Nb(a){return function(){var b=[za(this[m.ext.iApiIndex])].concat(Array.prototype.slice.call(arguments));
-return m.ext.internal[a].apply(this,b)}}var m,x,t,r,u,Ya={},Ob=/[\r\n]/g,Ba=/<.*?>/g,ac=/^[\w\+\-]/,bc=/[\w\+\-]$/,Yb=RegExp("(\\/|\\.|\\*|\\+|\\?|\\||\\(|\\)|\\[|\\]|\\{|\\}|\\\\|\\$|\\^|\\-)","g"),Xa=/[',$\u00a3\u20ac\u00a5%\u2009\u202F\u20BD\u20a9\u20BArfk]/gi,I=function(a){return!a||!0===a||"-"===a?!0:!1},Pb=function(a){var b=parseInt(a,10);return!isNaN(b)&&isFinite(a)?b:null},Qb=function(a,b){Ya[b]||(Ya[b]=RegExp(va(b),"g"));return"string"===typeof a&&"."!==b?a.replace(/\./g,"").replace(Ya[b],
-"."):a},Za=function(a,b,c){var e="string"===typeof a;if(I(a))return!0;b&&e&&(a=Qb(a,b));c&&e&&(a=a.replace(Xa,""));return!isNaN(parseFloat(a))&&isFinite(a)},Rb=function(a,b,c){return I(a)?!0:!(I(a)||"string"===typeof a)?null:Za(a.replace(Ba,""),b,c)?!0:null},D=function(a,b,c){var e=[],d=0,f=a.length;if(c!==k)for(;d")[0],Zb=wa.textContent!==k,$b=/<.*?>/g;m=function(a){this.$=function(a,
-b){return this.api(!0).$(a,b)};this._=function(a,b){return this.api(!0).rows(a,b).data()};this.api=function(a){return a?new t(za(this[x.iApiIndex])):new t(this)};this.fnAddData=function(a,b){var c=this.api(!0),e=h.isArray(a)&&(h.isArray(a[0])||h.isPlainObject(a[0]))?c.rows.add(a):c.row.add(a);(b===k||b)&&c.draw();return e.flatten().toArray()};this.fnAdjustColumnSizing=function(a){var b=this.api(!0).columns.adjust(),c=b.settings()[0],e=c.oScroll;a===k||a?b.draw(!1):(""!==e.sX||""!==e.sY)&&Y(c)};this.fnClearTable=
-function(a){var b=this.api(!0).clear();(a===k||a)&&b.draw()};this.fnClose=function(a){this.api(!0).row(a).child.hide()};this.fnDeleteRow=function(a,b,c){var e=this.api(!0),a=e.rows(a),d=a.settings()[0],h=d.aoData[a[0][0]];a.remove();b&&b.call(this,d,h);(c===k||c)&&e.draw();return h};this.fnDestroy=function(a){this.api(!0).destroy(a)};this.fnDraw=function(a){this.api(!0).draw(a)};this.fnFilter=function(a,b,c,e,d,h){d=this.api(!0);null===b||b===k?d.search(a,c,e,h):d.column(b).search(a,c,e,h);d.draw()};
-this.fnGetData=function(a,b){var c=this.api(!0);if(a!==k){var e=a.nodeName?a.nodeName.toLowerCase():"";return b!==k||"td"==e||"th"==e?c.cell(a,b).data():c.row(a).data()||null}return c.data().toArray()};this.fnGetNodes=function(a){var b=this.api(!0);return a!==k?b.row(a).node():b.rows().nodes().flatten().toArray()};this.fnGetPosition=function(a){var b=this.api(!0),c=a.nodeName.toUpperCase();return"TR"==c?b.row(a).index():"TD"==c||"TH"==c?(a=b.cell(a).index(),[a.row,a.columnVisible,a.column]):null};
-this.fnIsOpen=function(a){return this.api(!0).row(a).child.isShown()};this.fnOpen=function(a,b,c){return this.api(!0).row(a).child(b,c).show().child()[0]};this.fnPageChange=function(a,b){var c=this.api(!0).page(a);(b===k||b)&&c.draw(!1)};this.fnSetColumnVis=function(a,b,c){a=this.api(!0).column(a).visible(b);(c===k||c)&&a.columns.adjust().draw()};this.fnSettings=function(){return za(this[x.iApiIndex])};this.fnSort=function(a){this.api(!0).order(a).draw()};this.fnSortListener=function(a,b,c){this.api(!0).order.listener(a,
-b,c)};this.fnUpdate=function(a,b,c,e,d){var h=this.api(!0);c===k||null===c?h.row(b).data(a):h.cell(b,c).data(a);(d===k||d)&&h.columns.adjust();(e===k||e)&&h.draw();return 0};this.fnVersionCheck=x.fnVersionCheck;var b=this,c=a===k,e=this.length;c&&(a={});this.oApi=this.internal=x.internal;for(var d in m.ext.internal)d&&(this[d]=Nb(d));this.each(function(){var d={},d=1t<"F"ip>'),p.renderer)?h.isPlainObject(p.renderer)&&!p.renderer.header&&(p.renderer.header="jqueryui"):p.renderer="jqueryui":h.extend(j,m.ext.classes,d.oClasses);q.addClass(j.sTable);if(""!==p.oScroll.sX||""!==p.oScroll.sY)p.oScroll.iBarWidth=Hb();!0===p.oScroll.sX&&
-(p.oScroll.sX="100%");p.iInitDisplayStart===k&&(p.iInitDisplayStart=d.iDisplayStart,p._iDisplayStart=d.iDisplayStart);null!==d.iDeferLoading&&(p.bDeferLoading=!0,g=h.isArray(d.iDeferLoading),p._iRecordsDisplay=g?d.iDeferLoading[0]:d.iDeferLoading,p._iRecordsTotal=g?d.iDeferLoading[1]:d.iDeferLoading);var t=p.oLanguage;h.extend(!0,t,d.oLanguage);""!==t.sUrl&&(h.ajax({dataType:"json",url:t.sUrl,success:function(a){O(a);H(l.oLanguage,a);h.extend(true,t,a);ga(p)},error:function(){ga(p)}}),n=!0);null===
-d.asStripeClasses&&(p.asStripeClasses=[j.sStripeOdd,j.sStripeEven]);var g=p.asStripeClasses,s=q.children("tbody").find("tr").eq(0);-1!==h.inArray(!0,h.map(g,function(a){return s.hasClass(a)}))&&(h("tbody tr",this).removeClass(g.join(" ")),p.asDestroyStripes=g.slice());o=[];g=this.getElementsByTagName("thead");0!==g.length&&(da(p.aoHeader,g[0]),o=qa(p));if(null===d.aoColumns){r=[];g=0;for(i=o.length;g").appendTo(this));p.nTHead=i[0];i=q.children("tbody");
-0===i.length&&(i=h("").appendTo(this));p.nTBody=i[0];i=q.children("tfoot");if(0===i.length&&0").appendTo(this);0===i.length||0===i.children().length?q.addClass(j.sNoFooter):0a?new t(b[a],this[a]):null},filter:function(a){var b=[];
-if(v.filter)b=v.filter.call(this,a,this);else for(var c=0,e=this.length;c | ").addClass(b),h("td",c).addClass(b).html(a)[0].colSpan=aa(e),d.push(c[0]))};f(a,b);c._details&&c._details.remove();c._details=h(d);c._detailsShow&&c._details.insertAfter(c.nTr)}return this});r(["row().child.show()","row().child().show()"],function(){Vb(this,!0);return this});r(["row().child.hide()","row().child().hide()"],function(){Vb(this,!1);return this});r(["row().child.remove()",
-"row().child().remove()"],function(){cb(this);return this});r("row().child.isShown()",function(){var a=this.context;return a.length&&this.length?a[0].aoData[this[0]]._detailsShow||!1:!1});var dc=/^(.+):(name|visIdx|visible)$/,Wb=function(a,b,c,e,d){for(var c=[],e=0,f=d.length;e=0?b:g.length+b];if(typeof a==="function"){var d=Ca(c,f);return h.map(g,function(b,f){return a(f,Wb(c,f,0,0,d),j[f])?f:null})}var k=typeof a==="string"?a.match(dc):"";if(k)switch(k[2]){case "visIdx":case "visible":b=parseInt(k[1],10);if(b<0){var m=h.map(g,function(a,b){return a.bVisible?b:null});return[m[m.length+b]]}return[la(c,b)];case "name":return h.map(i,function(a,b){return a===k[1]?b:null})}else return h(j).filter(a).map(function(){return h.inArray(this,
-j)}).toArray()})},1);c.selector.cols=a;c.selector.opts=b;return c});u("columns().header()","column().header()",function(){return this.iterator("column",function(a,b){return a.aoColumns[b].nTh},1)});u("columns().footer()","column().footer()",function(){return this.iterator("column",function(a,b){return a.aoColumns[b].nTf},1)});u("columns().data()","column().data()",function(){return this.iterator("column-rows",Wb,1)});u("columns().dataSrc()","column().dataSrc()",function(){return this.iterator("column",
-function(a,b){return a.aoColumns[b].mData},1)});u("columns().cache()","column().cache()",function(a){return this.iterator("column-rows",function(b,c,e,d,f){return ia(b.aoData,f,"search"===a?"_aFilterData":"_aSortData",c)},1)});u("columns().nodes()","column().nodes()",function(){return this.iterator("column-rows",function(a,b,c,e,d){return ia(a.aoData,d,"anCells",b)},1)});u("columns().visible()","column().visible()",function(a,b){return this.iterator("column",function(c,e){if(a===k)return c.aoColumns[e].bVisible;
-var d=c.aoColumns,f=d[e],g=c.aoData,i,j,n;if(a!==k&&f.bVisible!==a){if(a){var l=h.inArray(!0,D(d,"bVisible"),e+1);i=0;for(j=g.length;ie;return!0};m.isDataTable=m.fnIsDataTable=function(a){var b=h(a).get(0),c=!1;h.each(m.settings,
-function(a,d){var f=d.nScrollHead?h("table",d.nScrollHead)[0]:null,g=d.nScrollFoot?h("table",d.nScrollFoot)[0]:null;if(d.nTable===b||f===b||g===b)c=!0});return c};m.tables=m.fnTables=function(a){return h.map(m.settings,function(b){if(!a||a&&h(b.nTable).is(":visible"))return b.nTable})};m.util={throttle:ua,escapeRegex:va};m.camelToHungarian=H;r("$()",function(a,b){var c=this.rows(b).nodes(),c=h(c);return h([].concat(c.filter(a).toArray(),c.find(a).toArray()))});h.each(["on","one","off"],function(a,
-b){r(b+"()",function(){var a=Array.prototype.slice.call(arguments);a[0].match(/\.dt\b/)||(a[0]+=".dt");var e=h(this.tables().nodes());e[b].apply(e,a);return this})});r("clear()",function(){return this.iterator("table",function(a){oa(a)})});r("settings()",function(){return new t(this.context,this.context)});r("init()",function(){var a=this.context;return a.length?a[0].oInit:null});r("data()",function(){return this.iterator("table",function(a){return D(a.aoData,"_aData")}).flatten()});r("destroy()",
-function(a){a=a||!1;return this.iterator("table",function(b){var c=b.nTableWrapper.parentNode,e=b.oClasses,d=b.nTable,f=b.nTBody,g=b.nTHead,i=b.nTFoot,j=h(d),f=h(f),k=h(b.nTableWrapper),l=h.map(b.aoData,function(a){return a.nTr}),q;b.bDestroying=!0;w(b,"aoDestroyCallback","destroy",[b]);a||(new t(b)).columns().visible(!0);k.unbind(".DT").find(":not(tbody *)").unbind(".DT");h(Ea).unbind(".DT-"+b.sInstance);d!=g.parentNode&&(j.children("thead").detach(),j.append(g));i&&d!=i.parentNode&&(j.children("tfoot").detach(),
-j.append(i));j.detach();k.detach();b.aaSorting=[];b.aaSortingFixed=[];xa(b);h(l).removeClass(b.asStripeClasses.join(" "));h("th, td",g).removeClass(e.sSortable+" "+e.sSortableAsc+" "+e.sSortableDesc+" "+e.sSortableNone);b.bJUI&&(h("th span."+e.sSortIcon+", td span."+e.sSortIcon,g).detach(),h("th, td",g).each(function(){var a=h("div."+e.sSortJUIWrapper,this);h(this).append(a.contents());a.detach()}));!a&&c&&c.insertBefore(d,b.nTableReinsertBefore);f.children().detach();f.append(l);j.css("width",b.sDestroyWidth).removeClass(e.sTable);
-(q=b.asDestroyStripes.length)&&f.children().each(function(a){h(this).addClass(b.asDestroyStripes[a%q])});c=h.inArray(b,m.settings);-1!==c&&m.settings.splice(c,1)})});h.each(["column","row","cell"],function(a,b){r(b+"s().every()",function(a){return this.iterator(b,function(e,d,f){a.call((new t(e))[b](d,f))})})});m.version="1.10.6";m.settings=[];m.models={};m.models.oSearch={bCaseInsensitive:!0,sSearch:"",bRegex:!1,bSmart:!0};m.models.oRow={nTr:null,anCells:null,_aData:[],_aSortData:null,_aFilterData:null,
-_sFilterRow:null,_sRowStripe:"",src:null};m.models.oColumn={idx:null,aDataSort:null,asSorting:null,bSearchable:null,bSortable:null,bVisible:null,_sManualType:null,_bAttrSrc:!1,fnCreatedCell:null,fnGetData:null,fnSetData:null,mData:null,mRender:null,nTh:null,nTf:null,sClass:null,sContentPadding:null,sDefaultContent:null,sName:null,sSortDataType:"std",sSortingClass:null,sSortingClassJUI:null,sTitle:null,sType:null,sWidth:null,sWidthOrig:null};m.defaults={aaData:null,aaSorting:[[0,"asc"]],aaSortingFixed:[],
-ajax:null,aLengthMenu:[10,25,50,100],aoColumns:null,aoColumnDefs:null,aoSearchCols:[],asStripeClasses:null,bAutoWidth:!0,bDeferRender:!1,bDestroy:!1,bFilter:!0,bInfo:!0,bJQueryUI:!1,bLengthChange:!0,bPaginate:!0,bProcessing:!1,bRetrieve:!1,bScrollCollapse:!1,bServerSide:!1,bSort:!0,bSortMulti:!0,bSortCellsTop:!1,bSortClasses:!0,bStateSave:!1,fnCreatedRow:null,fnDrawCallback:null,fnFooterCallback:null,fnFormatNumber:function(a){return a.toString().replace(/\B(?=(\d{3})+(?!\d))/g,this.oLanguage.sThousands)},
-fnHeaderCallback:null,fnInfoCallback:null,fnInitComplete:null,fnPreDrawCallback:null,fnRowCallback:null,fnServerData:null,fnServerParams:null,fnStateLoadCallback:function(a){try{return JSON.parse((-1===a.iStateDuration?sessionStorage:localStorage).getItem("DataTables_"+a.sInstance+"_"+location.pathname))}catch(b){}},fnStateLoadParams:null,fnStateLoaded:null,fnStateSaveCallback:function(a,b){try{(-1===a.iStateDuration?sessionStorage:localStorage).setItem("DataTables_"+a.sInstance+"_"+location.pathname,
-JSON.stringify(b))}catch(c){}},fnStateSaveParams:null,iStateDuration:7200,iDeferLoading:null,iDisplayLength:10,iDisplayStart:0,iTabIndex:0,oClasses:{},oLanguage:{oAria:{sSortAscending:": activate to sort column ascending",sSortDescending:": activate to sort column descending"},oPaginate:{sFirst:"First",sLast:"Last",sNext:"Next",sPrevious:"Previous"},sEmptyTable:"No data available in table",sInfo:"Showing _START_ to _END_ of _TOTAL_ entries",sInfoEmpty:"Showing 0 to 0 of 0 entries",sInfoFiltered:"(filtered from _MAX_ total entries)",
-sInfoPostFix:"",sDecimal:"",sThousands:",",sLengthMenu:"Show _MENU_ entries",sLoadingRecords:"Loading...",sProcessing:"Processing...",sSearch:"Search:",sSearchPlaceholder:"",sUrl:"",sZeroRecords:"No matching records found"},oSearch:h.extend({},m.models.oSearch),sAjaxDataProp:"data",sAjaxSource:null,sDom:"lfrtip",searchDelay:null,sPaginationType:"simple_numbers",sScrollX:"",sScrollXInner:"",sScrollY:"",sServerMethod:"GET",renderer:null};V(m.defaults);m.defaults.column={aDataSort:null,iDataSort:-1,
-asSorting:["asc","desc"],bSearchable:!0,bSortable:!0,bVisible:!0,fnCreatedCell:null,mData:null,mRender:null,sCellType:"td",sClass:"",sContentPadding:"",sDefaultContent:null,sName:"",sSortDataType:"std",sTitle:null,sType:null,sWidth:null};V(m.defaults.column);m.models.oSettings={oFeatures:{bAutoWidth:null,bDeferRender:null,bFilter:null,bInfo:null,bLengthChange:null,bPaginate:null,bProcessing:null,bServerSide:null,bSort:null,bSortMulti:null,bSortClasses:null,bStateSave:null},oScroll:{bCollapse:null,
-iBarWidth:0,sX:null,sXInner:null,sY:null},oLanguage:{fnInfoCallback:null},oBrowser:{bScrollOversize:!1,bScrollbarLeft:!1},ajax:null,aanFeatures:[],aoData:[],aiDisplay:[],aiDisplayMaster:[],aoColumns:[],aoHeader:[],aoFooter:[],oPreviousSearch:{},aoPreSearchCols:[],aaSorting:null,aaSortingFixed:[],asStripeClasses:null,asDestroyStripes:[],sDestroyWidth:0,aoRowCallback:[],aoHeaderCallback:[],aoFooterCallback:[],aoDrawCallback:[],aoRowCreatedCallback:[],aoPreDrawCallback:[],aoInitComplete:[],aoStateSaveParams:[],
-aoStateLoadParams:[],aoStateLoaded:[],sTableId:"",nTable:null,nTHead:null,nTFoot:null,nTBody:null,nTableWrapper:null,bDeferLoading:!1,bInitialised:!1,aoOpenRows:[],sDom:null,searchDelay:null,sPaginationType:"two_button",iStateDuration:0,aoStateSave:[],aoStateLoad:[],oSavedState:null,oLoadedState:null,sAjaxSource:null,sAjaxDataProp:null,bAjaxDataGet:!0,jqXHR:null,json:k,oAjaxData:k,fnServerData:null,aoServerParams:[],sServerMethod:null,fnFormatNumber:null,aLengthMenu:null,iDraw:0,bDrawing:!1,iDrawError:-1,
-_iDisplayLength:10,_iDisplayStart:0,_iRecordsTotal:0,_iRecordsDisplay:0,bJUI:null,oClasses:{},bFiltered:!1,bSorted:!1,bSortCellsTop:null,oInit:null,aoDestroyCallback:[],fnRecordsTotal:function(){return"ssp"==B(this)?1*this._iRecordsTotal:this.aiDisplayMaster.length},fnRecordsDisplay:function(){return"ssp"==B(this)?1*this._iRecordsDisplay:this.aiDisplay.length},fnDisplayEnd:function(){var a=this._iDisplayLength,b=this._iDisplayStart,c=b+a,e=this.aiDisplay.length,d=this.oFeatures,f=d.bPaginate;return d.bServerSide?
-!1===f||-1===a?b+e:Math.min(b+a,this._iRecordsDisplay):!f||c>e||-1===a?e:c},oInstance:null,sInstance:null,iTabIndex:0,nScrollHead:null,nScrollFoot:null,aLastSort:[],oPlugins:{}};m.ext=x={buttons:{},classes:{},errMode:"alert",feature:[],search:[],internal:{},legacy:{ajax:null},pager:{},renderer:{pageButton:{},header:{}},order:{},type:{detect:[],search:{},order:{}},_unique:0,fnVersionCheck:m.fnVersionCheck,iApiIndex:0,oJUIClasses:{},sVersion:m.version};h.extend(x,{afnFiltering:x.search,aTypes:x.type.detect,
-ofnSearch:x.type.search,oSort:x.type.order,afnSortData:x.order,aoFeatures:x.feature,oApi:x.internal,oStdClasses:x.classes,oPagination:x.pager});h.extend(m.ext.classes,{sTable:"dataTable",sNoFooter:"no-footer",sPageButton:"paginate_button",sPageButtonActive:"current",sPageButtonDisabled:"disabled",sStripeOdd:"odd",sStripeEven:"even",sRowEmpty:"dataTables_empty",sWrapper:"dataTables_wrapper",sFilter:"dataTables_filter",sInfo:"dataTables_info",sPaging:"dataTables_paginate paging_",sLength:"dataTables_length",
-sProcessing:"dataTables_processing",sSortAsc:"sorting_asc",sSortDesc:"sorting_desc",sSortable:"sorting",sSortableAsc:"sorting_asc_disabled",sSortableDesc:"sorting_desc_disabled",sSortableNone:"sorting_disabled",sSortColumn:"sorting_",sFilterInput:"",sLengthSelect:"",sScrollWrapper:"dataTables_scroll",sScrollHead:"dataTables_scrollHead",sScrollHeadInner:"dataTables_scrollHeadInner",sScrollBody:"dataTables_scrollBody",sScrollFoot:"dataTables_scrollFoot",sScrollFootInner:"dataTables_scrollFootInner",
-sHeaderTH:"",sFooterTH:"",sSortJUIAsc:"",sSortJUIDesc:"",sSortJUI:"",sSortJUIAscAllowed:"",sSortJUIDescAllowed:"",sSortJUIWrapper:"",sSortIcon:"",sJUIHeader:"",sJUIFooter:""});var Da="",Da="",F=Da+"ui-state-default",ja=Da+"css_right ui-icon ui-icon-",Xb=Da+"fg-toolbar ui-toolbar ui-widget-header ui-helper-clearfix";h.extend(m.ext.oJUIClasses,m.ext.classes,{sPageButton:"fg-button ui-button "+F,sPageButtonActive:"ui-state-disabled",sPageButtonDisabled:"ui-state-disabled",sPaging:"dataTables_paginate fg-buttonset ui-buttonset fg-buttonset-multi ui-buttonset-multi paging_",
-sSortAsc:F+" sorting_asc",sSortDesc:F+" sorting_desc",sSortable:F+" sorting",sSortableAsc:F+" sorting_asc_disabled",sSortableDesc:F+" sorting_desc_disabled",sSortableNone:F+" sorting_disabled",sSortJUIAsc:ja+"triangle-1-n",sSortJUIDesc:ja+"triangle-1-s",sSortJUI:ja+"carat-2-n-s",sSortJUIAscAllowed:ja+"carat-1-n",sSortJUIDescAllowed:ja+"carat-1-s",sSortJUIWrapper:"DataTables_sort_wrapper",sSortIcon:"DataTables_sort_icon",sScrollHead:"dataTables_scrollHead "+F,sScrollFoot:"dataTables_scrollFoot "+F,
-sHeaderTH:F,sFooterTH:F,sJUIHeader:Xb+" ui-corner-tl ui-corner-tr",sJUIFooter:Xb+" ui-corner-bl ui-corner-br"});var Mb=m.ext.pager;h.extend(Mb,{simple:function(){return["previous","next"]},full:function(){return["first","previous","next","last"]},simple_numbers:function(a,b){return["previous",Wa(a,b),"next"]},full_numbers:function(a,b){return["first","previous",Wa(a,b),"next","last"]},_numbers:Wa,numbers_length:7});h.extend(!0,m.ext.renderer,{pageButton:{_:function(a,b,c,e,d,f){var g=a.oClasses,i=
-a.oLanguage.oPaginate,j,k,l=0,m=function(b,e){var o,r,t,s,u=function(b){Ta(a,b.data.action,true)};o=0;for(r=e.length;o").appendTo(b);m(t,s)}else{k=j="";switch(s){case "ellipsis":b.append('…');break;case "first":j=i.sFirst;k=s+(d>0?"":" "+g.sPageButtonDisabled);break;case "previous":j=i.sPrevious;k=s+(d>0?"":" "+g.sPageButtonDisabled);break;case "next":j=i.sNext;k=s+(d",{"class":g.sPageButton+" "+k,"aria-controls":a.sTableId,"data-dt-idx":l,tabindex:a.iTabIndex,id:c===0&&typeof s==="string"?a.sTableId+"_"+s:null}).html(j).appendTo(b);Va(t,{action:s},u);l++}}}},o;try{o=h(P.activeElement).data("dt-idx")}catch(r){}m(h(b).empty(),e);o&&h(b).find("[data-dt-idx="+o+"]").focus()}}});h.extend(m.ext.type.detect,[function(a,b){var c=b.oLanguage.sDecimal;
-return Za(a,c)?"num"+c:null},function(a){if(a&&!(a instanceof Date)&&(!ac.test(a)||!bc.test(a)))return null;var b=Date.parse(a);return null!==b&&!isNaN(b)||I(a)?"date":null},function(a,b){var c=b.oLanguage.sDecimal;return Za(a,c,!0)?"num-fmt"+c:null},function(a,b){var c=b.oLanguage.sDecimal;return Rb(a,c)?"html-num"+c:null},function(a,b){var c=b.oLanguage.sDecimal;return Rb(a,c,!0)?"html-num-fmt"+c:null},function(a){return I(a)||"string"===typeof a&&-1!==a.indexOf("<")?"html":null}]);h.extend(m.ext.type.search,
-{html:function(a){return I(a)?a:"string"===typeof a?a.replace(Ob," ").replace(Ba,""):""},string:function(a){return I(a)?a:"string"===typeof a?a.replace(Ob," "):a}});var Aa=function(a,b,c,e){if(0!==a&&(!a||"-"===a))return-Infinity;b&&(a=Qb(a,b));a.replace&&(c&&(a=a.replace(c,"")),e&&(a=a.replace(e,"")));return 1*a};h.extend(x.type.order,{"date-pre":function(a){return Date.parse(a)||0},"html-pre":function(a){return I(a)?"":a.replace?a.replace(/<.*?>/g,"").toLowerCase():a+""},"string-pre":function(a){return I(a)?
-"":"string"===typeof a?a.toLowerCase():!a.toString?"":a.toString()},"string-asc":function(a,b){return ab?1:0},"string-desc":function(a,b){return ab?-1:0}});db("");h.extend(!0,m.ext.renderer,{header:{_:function(a,b,c,e){h(a.nTable).on("order.dt.DT",function(d,f,g,h){if(a===f){d=c.idx;b.removeClass(c.sSortingClass+" "+e.sSortAsc+" "+e.sSortDesc).addClass(h[d]=="asc"?e.sSortAsc:h[d]=="desc"?e.sSortDesc:c.sSortingClass)}})},jqueryui:function(a,b,c,e){h("").addClass(e.sSortJUIWrapper).append(b.contents()).append(h("").addClass(e.sSortIcon+
-" "+c.sSortingClassJUI)).appendTo(b);h(a.nTable).on("order.dt.DT",function(d,f,g,h){if(a===f){d=c.idx;b.removeClass(e.sSortAsc+" "+e.sSortDesc).addClass(h[d]=="asc"?e.sSortAsc:h[d]=="desc"?e.sSortDesc:c.sSortingClass);b.find("span."+e.sSortIcon).removeClass(e.sSortJUIAsc+" "+e.sSortJUIDesc+" "+e.sSortJUI+" "+e.sSortJUIAscAllowed+" "+e.sSortJUIDescAllowed).addClass(h[d]=="asc"?e.sSortJUIAsc:h[d]=="desc"?e.sSortJUIDesc:c.sSortingClassJUI)}})}}});m.render={number:function(a,b,c,e){return{display:function(d){if("number"!==
-typeof d&&"string"!==typeof d)return d;var f=0>d?"-":"",d=Math.abs(parseFloat(d)),g=parseInt(d,10),d=c?b+(d-g).toFixed(c).substring(2):"";return f+(e||"")+g.toString().replace(/\B(?=(\d{3})+(?!\d))/g,a)+d}}}};h.extend(m.ext.internal,{_fnExternApiFunc:Nb,_fnBuildAjax:ra,_fnAjaxUpdate:kb,_fnAjaxParameters:tb,_fnAjaxUpdateDraw:ub,_fnAjaxDataSrc:sa,_fnAddColumn:Fa,_fnColumnOptions:ka,_fnAdjustColumnSizing:X,_fnVisibleToColumnIndex:la,_fnColumnIndexToVisible:$,_fnVisbleColumns:aa,_fnGetColumns:Z,_fnColumnTypes:Ha,
-_fnApplyColumnDefs:ib,_fnHungarianMap:V,_fnCamelToHungarian:H,_fnLanguageCompat:O,_fnBrowserDetect:gb,_fnAddData:J,_fnAddTr:ma,_fnNodeToDataIndex:function(a,b){return b._DT_RowIndex!==k?b._DT_RowIndex:null},_fnNodeToColumnIndex:function(a,b,c){return h.inArray(c,a.aoData[b].anCells)},_fnGetCellData:y,_fnSetCellData:Ia,_fnSplitObjNotation:Ka,_fnGetObjectDataFn:W,_fnSetObjectDataFn:Q,_fnGetDataMaster:La,_fnClearTable:oa,_fnDeleteIndex:pa,_fnInvalidate:ca,_fnGetRowElements:na,_fnCreateTr:Ja,_fnBuildHead:jb,
-_fnDrawHead:ea,_fnDraw:M,_fnReDraw:N,_fnAddOptionsHtml:mb,_fnDetectHeader:da,_fnGetUniqueThs:qa,_fnFeatureHtmlFilter:ob,_fnFilterComplete:fa,_fnFilterCustom:xb,_fnFilterColumn:wb,_fnFilter:vb,_fnFilterCreateSearch:Qa,_fnEscapeRegex:va,_fnFilterData:yb,_fnFeatureHtmlInfo:rb,_fnUpdateInfo:Bb,_fnInfoMacros:Cb,_fnInitialise:ga,_fnInitComplete:ta,_fnLengthChange:Ra,_fnFeatureHtmlLength:nb,_fnFeatureHtmlPaginate:sb,_fnPageChange:Ta,_fnFeatureHtmlProcessing:pb,_fnProcessingDisplay:C,_fnFeatureHtmlTable:qb,
-_fnScrollDraw:Y,_fnApplyToChildren:G,_fnCalculateColumnWidths:Ga,_fnThrottle:ua,_fnConvertToWidth:Db,_fnScrollingWidthAdjust:Fb,_fnGetWidestNode:Eb,_fnGetMaxLenString:Gb,_fnStringToCss:s,_fnScrollBarWidth:Hb,_fnSortFlatten:T,_fnSort:lb,_fnSortAria:Jb,_fnSortListener:Ua,_fnSortAttachListener:Oa,_fnSortingClasses:xa,_fnSortData:Ib,_fnSaveState:ya,_fnLoadState:Kb,_fnSettingsFromNode:za,_fnLog:R,_fnMap:E,_fnBindAction:Va,_fnCallbackReg:z,_fnCallbackFire:w,_fnLengthOverflow:Sa,_fnRenderer:Pa,_fnDataSource:B,
-_fnRowAttributes:Ma,_fnCalculateEnd:function(){}});h.fn.dataTable=m;h.fn.dataTableSettings=m.settings;h.fn.dataTableExt=m.ext;h.fn.DataTable=function(a){return h(this).dataTable(a).api()};h.each(m,function(a,b){h.fn.DataTable[a]=b});return h.fn.dataTable};"function"===typeof define&&define.amd?define("datatables",["jquery"],O):"object"===typeof exports?module.exports=O(require("jquery")):jQuery&&!jQuery.fn.dataTable&&O(jQuery)})(window,document);
diff --git a/assets/js/jquery.min.js b/assets/js/jquery.min.js
deleted file mode 100644
index a1c07fd..0000000
--- a/assets/js/jquery.min.js
+++ /dev/null
@@ -1,2 +0,0 @@
-/*! jQuery v3.4.1 | (c) JS Foundation and other contributors | jquery.org/license */
-!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],E=C.document,r=Object.getPrototypeOf,s=t.slice,g=t.concat,u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.4.1",k=function(e,t){return new k.fn.init(e,t)},p=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function d(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp($),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+$),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ne=function(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(m.childNodes),m.childNodes),t[m.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&((e?e.ownerDocument||e:m)!==C&&T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!A[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&U.test(t)){(s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=k),o=(l=h(t)).length;while(o--)l[o]="#"+s+" "+xe(l[o]);c=l.join(","),f=ee.test(t)&&ye(e.parentNode)||e}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){A(t,!0)}finally{s===k&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[k]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:m;return r!==C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),m!==C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=k,!C.getElementsByName||!C.getElementsByName(k).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+k+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||v.push(".#.+[+~]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",$)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e===C||e.ownerDocument===m&&y(m,e)?-1:t===C||t.ownerDocument===m&&y(m,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===C?-1:t===C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]===m?-1:s[r]===m?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==C&&T(e),d.matchesSelector&&E&&!A[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){A(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=p[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&p(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?k.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?k.grep(e,function(e){return e===n!==r}):"string"!=typeof n?k.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(k.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:L.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof k?t[0]:t,k.merge(this,k.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),D.test(r[1])&&k.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(k):k.makeArray(e,this)}).prototype=k.fn,q=k(E);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}k.fn.extend({has:function(e){var t=k(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,""],thead:[1,""],col:[2,""],tr:[2,""],td:[3,""],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?k.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;nx",y.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var Te=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ne(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ae(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ae(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return k().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=k.guid++)),e.each(function(){k.event.add(this,t,i,r,n)})}function De(e,i,o){o?(Q.set(e,i,!1),k.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Q.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(k.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Q.set(this,i,r),t=o(this,i),this[i](),r!==(n=Q.get(this,i))||t?Q.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Q.set(this,i,{value:k.event.trigger(k.extend(r[0],k.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,i)&&k.event.add(e,i,ke)}k.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.get(t);if(v){n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(ie,i),n.guid||(n.guid=k.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof k&&k.event.triggered!==e.type?k.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(R)||[""]).length;while(l--)d=g=(s=Ee.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=k.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=k.event.special[d]||{},c=k.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),k.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.hasData(e)&&Q.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(R)||[""]).length;while(l--)if(d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=k.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||k.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)k.event.remove(e,d+t[l],n,r,!0);k.isEmptyObject(u)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=k.event.fix(e),u=new Array(arguments.length),l=(Q.get(this,"events")||{})[s.type]||[],c=k.event.special[s.type]||{};for(u[0]=s,t=1;t\x20\t\r\n\f]*)[^>]*)\/>/gi,qe=/