{{i}} Документація модуля[перегляд] [редагувати] [історія] [очистити кеш]

Цей модуль Lua використовується в шаблоні {{Бібліоінформація}} (обг. · викор. · ред.) (перенаправлення -{{External links}} (обг. · викор. · ред.)), і, можливо, деяких інших. Зазвичай його функції не повинні викликатися з інших шаблонів Вікіпедії.

Категорії спостереження

див. пояснення нижче на підсторінці спільної документації. Категорія:Вікіпедія:Шаблон «Бібліоінформація» пустий (7076) Категорія:Вікіпедія:Статті з посиланнями на Вікісховище (17 013)

Ви на сторінці модуля {{Модуль:External links}} (обг. · викор. · ред.). Спільна із шаблоном {{Бібліоінформація}} (обг. · викор. · ред.) документація, що наведена нижче, знаходиться на підсторінці спільної документації «Шаблон:Бібліоінформація/документація».:


Шаблон автоматично підставляє посилання на соціальні мережі, служби фото і відеохостингу, а також дані нормативного контролю, які визначені для поточного Елемента на Вікіданих.

Єдиним аргументом є «color», який дозволяє модифікувати колір групових заголовків для отриманої навігаційної таблиці.

{{Бібліоінформація}}
{{Бібліоінформація|#CCF}}
{{Бібліоінформація|колір=#CCF}}
{{Бібліоінформація|color=#CCF}}


Для додавання, редагування та видалення посилань в шаблоні без переходу на сайт Вікіданих існує спеціальний гаджет.

Розміщення на сторінці

Шаблон розміщується наприкінці основного вмісту сторінки (зазвичай — це безпосередньо після списку посилань розділу «== Посилання ==», до категорій; до інших навігаційних шаблонів, так як додає посилання на поточну тему в інших джерелах: соцмережах, медіахостінгах, словниках-енциклопедіях, тематичних сайтах. За ним розташовуються «блочні» навігаційні шаблони, тобто внутрішні посилання Вікіпедії, на дотичні вікі-статті-сторінки. Принцип — спочатку посилання на саме цю тему в інших (будь-яких) джерелах, а потім — навігація по темах Вікіпедії — а саме, К:Навігаційні шаблони (115). Шаблон бажано розміщувати до інших навігаційних шаблонів, щоб він візуально йшов одразу після розділу «Посилання», якщо такий є.

Редагування

Всі значення беруться з Вікіданих, для їх зміни необхідно змінити інформацію на Вікіданих.

  • На сторінці цільової статті в лівому бічному меню знайдіть посилання «Елемент Вікіданих» і перейдіть по ньому (якщо посилання немає, то потрібно створити новий елемент і пов'язати його з існуючою статтею)
  • На сторінці, що з'явилася знайдіть розділ «Твердження»
  • На таблиці нижче знайдіть сайт, посилання на який Ви хочете додати. Якщо в таблиці рядок «Вікідані» має вигляд «P553/P554/Q219523», то робите наступне:
    • Створюєте нове твердження (кнопка «[додати]»).
    • Назва нової властивості: «соціальна мережа, в якій має акаунт»
    • Значення нової властивості: тип соціальної мережі, профіль в якій Ви хочете додати в список посилань. Наприклад, «Q918: X».
    • Натискаєте «Зберегти», і, після збереження, на кнопку «Редагувати» (вона з'явиться праворуч від назви соц. мережі)
    • Натискаєте «уточнити» — це додасть поля для додавання уточнення
    • У полі «Властивість» вказуєте «адресу в соціальних медіа»
    • У полі, що з'явиться після цього, вказуєте адресу в Twitter, наприклад, «myaccount»
    • Натискаєте «Зберегти». Вітаємо, Ви додали посилання на акаунт Twitter'а.
  • Якщо в таблиці рядок «Вікідані» має вигляд «P549», то робите наступне:
    • Створюєте нове твердження (кнопка «[додати]»).
    • Назва нової властивості: «P549: ідентифікатор MGP» (з'явиться назва сайту)
    • Як значення властивості вказуєте цифрове або цифро-літерне ID акаунта на сайті. Наприклад, якщо для сайту «Родовід» посилання виглядає як http://ru.rodovid.org/wk/Person:57500, причому останні цифри змінюються від людини до людини, значить саме «57500» і є ID акаунта і саме його потрібно вказувати як значення властивості.
    • Натискаєте «Зберегти». Вітаємо, Ви додали посилання на сайт.

Список посилань, що додаються

Категорії спостереження

Так як шаблон фактично тільки викликає модуль, то наступні категорії є категоріями спостереження «{{Модуль:External links}} (обг. · викор. · ред.)»:

Див. також

Цей модуль містить код, запозичений з модуля «External links» російської Вікіпедії.

Переклад
-- Localizable part
-- Please, note, that labels to various sites and cataloges are taken from Wikidata (i.e. Wikidata label)

local linksPrefix = ''
local project = 'Вікіпедія'
local categoryTemplateEmpty = project .. ':Шаблон «Бібліоінформація» пустий'
local categoryWithWikimediaCommons = project .. ':Статті з посиланнями на Вікісховище'
local templateLink = 'Перегляд цього шаблону|link=Template:Бібліоінформація'

local group1Label = 'У месенджерах'
local group2Label = '[[' .. linksPrefix .. 'Соціальна мережа|У соціальних мережах]]'
local group3Label = 'Аудіо, відео(ігри), фото та мистецтво'
local group4Label = 'Про аудіо, відео(ігри), фото та мистецтво'
local group5Label = 'Генеалогія та некрополістика'
local group6Label = 'Географія та географічні карти'
local group7Label = 'Література та бібліографія'
local group8Label = '[[Наука]]'
local group9Label = '[[Спорт]]'
local group10Label = 'Тематичні сайти'
local group11Label = 'Словники та енциклопедії'
local group12Label = 'Довідкові видання'
local group13Label = '[[' .. linksPrefix .. 'Нормативний контроль|Нормативний контроль]]'

-- The language codes that should be always displayed even if they have normal rank and claim with another language and prefferered rank exists
local preferredLanguage = 'Q8798'; -- ukrainian

function categoryAuthorityControl( code )
	return false; --project .. ':Статті, що містять ' .. code .. ' код'
end
function categoryExternalLink( code )
	return false; --project .. ':Статті з зовнішнім посиланням:' .. code
end

local templateColorName = 'колір';
-- some project have "named" colors, defined by templates
function colorByTitle( frame, colorTitle )
	local templateName = 'Колір/' .. colorTitle;
	local templateTitle = mw.title.makeTitle( 'Template', templateName );
	if ( templateTitle == nil or not templateTitle.exists ) then
		return false;
	end
	return frame:expandTemplate{ title = templateName };
end

-- feed free to correct labels and categories, or add/remove sources here
local dictionaryProperties = {
}

-- Non-localizable part (not need to localize )
local moduleNavbox = require('Module:Navbox')

local titleBasedLinks = { ['Q602358'] = true, ['Q17290934'] = true, ['Q1960551'] = true }

local p = {}

function link( url )
	return url
end

function aniDBLink( id )
  local pos,_ = id:find("/")
  local type = id:sub(1,pos-1)
  local number = id:sub(pos+1)
  local urltype =''
  if type == "anime" then urltype = "a"
  elseif type == "creator" then urltype = "creator"
  elseif type == "character" then urltype = "char"
  else
   return ""
  end
  return "http://anidb.net/perl-bin/animedb.pl?show=" ..type .. "&" .. urltype .. "id=" .. number
end

function egaxaLink( id )			return 'http://viaf.org/processed/EGAXA%7Cvtls' .. id	end

function fanLibRuLink( id )
	local firstChar = mw.ustring.sub( id, 1, 1 )
    return 'http://fan.lib.ru/' .. firstChar .. '/' .. id .. '/'
end

function imdbLink( id )
	if string.match( id, '^ch' ) then
		return 'http://www.imdb.com/character/' .. id
    end
    if string.match( id, '^co' ) then
		return 'http://www.imdb.com/company/' .. id
    end
    if string.match( id, '^ev' ) then
		return 'http://www.imdb.com/event/' .. id
    end
    if string.match( id, '^nm' ) then
		return 'http://www.imdb.com/name/' .. id
    end
    if string.match( id, '^ni' ) then
		return 'http://www.imdb.com/news/' .. id		
    end
    if string.match( id, '^tt' ) then
		return 'http://www.imdb.com/title/' .. id
    end

	return false
end

function isniLink( id )
	id = id:gsub( '[ %-]', '' ):upper()
    return 'http://isni-url.oclc.nl/isni/' .. id
end

function iccuLink( id )
	id = id:gsub( '\\\\', '%5C' ):upper()
	return 'https://opac.sbn.it/risultati-autori/-/opac-autori/detail/' .. id
end

function merimeeLink( id )			return false	end
function nlcLink( id )				return false	end

function nlpLink( id ) -- from https://github.com/arthurpsmith/wikidata-tools/blob/master/wikidata-externalid-url/index.php
	if string.match( id, '^A' ) then
		return 'http://mak.bn.org.pl/cgi-bin/KHW/makwww.exe?BM=1&NU=1&IM=5&WI=' .. id;
	end
	if string.match( id, '^9' ) then
		return 'http://mak.bn.org.pl/cgi-bin/KHW/makwww.exe?BM=1&NU=1&IM=4&WI=' .. id;
	end
	
	return false
end

function orcidLink( id )
	id = id:gsub( '[ %-]', '' ):upper()
    return 'http://orcid.org/' .. id
end

function rutubeLink( id )
    if string.match( id, '^%d+$' ) then
    	return 'http://rutube.ru/video/persion/' .. id .. '/'
    end
	return 'http://' .. id .. '.rutube.ru/'
end

function samlibRuLink( id )
	local firstChar = mw.ustring.sub( id, 1, 1 )
    return 'http://samlib.ru/' .. firstChar .. '/' .. id .. '/'
end

function getLabelWithoutLink( id, defaultLabel )
	return mw.wikibase.label( id ) or defaultLabel;
end

function getLabelWithLink( id, defaultTitle, label )
	local link = mw.wikibase.sitelink( id );
	if ( link ~= nil ) then
		return '[[' .. link .. '|' .. label .. ']]';
	end
	local title = mw.wikibase.label( id ) or defaultTitle;
	return '<span title="' .. title .. '" style="border-bottom: 1px dotted; cursor: help;">' .. label .. '</span>'
end



--- група 1
local messagingProperties = {
	{ getLabelWithoutLink( 'Q15616276', 'Telegram'),									'P3789',		function (id)		return 'https://t.me/' .. id end,								categoryExternalLink( 'Telegram' ) },
	{ getLabelWithoutLink( 'Q15616276', 'Telegram'),									'Q15616276',	function (id)		return 'https://t.me/' .. id end,								categoryExternalLink( 'Telegram' ) },
}



--- група 2
local socialNetworkProperties = {
	{ getLabelWithoutLink( 'Q219523', 'Живий Журнал'),									'P3258',		function (id)		return 'http://' .. id .. '.livejournal.com/' end,				categoryExternalLink( 'Живий Журнал' ) },
	{ getLabelWithoutLink( 'Q219523', 'Живий Журнал'),									'Q219523',		function (id)		return 'http://' .. id .. '.livejournal.com/' end,				categoryExternalLink( 'Живий Журнал' ) },
	{ getLabelWithoutLink( 'Q171186', 'Blogger'),   									'Q171186',		function (id)		return 'http://' .. id .. '.blogspot.com' end,					categoryExternalLink( 'Blogger' ) },
	{ getLabelWithoutLink( 'Q4037665', 'Dudu'),    										'Q4037665',		function (id)		return 'http://dudu.com/' .. id end,								categoryExternalLink( 'Dudu' ) },
	{ getLabelWithoutLink( 'Q209330', 'Instagram' ),									'P2003',		function (id)		return 'https://www.instagram.com/' .. id	end,			categoryExternalLink( 'Instagram' ),	false	},
--	{ getLabelWithoutLink( 'Q209330', 'Instagram' ),									'Q209330',		function (id)		return 'https://www.instagram.com/' .. id	end,			categoryExternalLink( 'Instagram' ),	false	},
	{ getLabelWithoutLink( 'Q355', 'Facebook'), 										'P2013',		function (id)		return 'https://www.facebook.com/' .. id end,					categoryExternalLink( 'Facebook' ) },
	{ getLabelWithoutLink( 'Q355', 'Facebook'), 										'Q355',			function (id)		return 'https://www.facebook.com/' .. id end,					categoryExternalLink( 'Facebook' ) },
--	{ getLabelWithoutLink( 'Q356', 'Google+'),											'Q356',			function (id)		return 'https://plus.google.com/' .. id .. '/posts' end,			categoryExternalLink( 'Google+' ) },
	{ getLabelWithoutLink( 'Q356', 'Google+'),											'P2847',		function (id)		return 'https://web.archive.org/web/20190322195816/https://plus.google.com/' .. id end,			categoryExternalLink( 'Google+' ) },
	{ getLabelWithoutLink( 'Q213660', 'LinkedIn'),   									'P6634',		function (id)		return 'https://www.linkedin.com/in/' .. id end,					categoryExternalLink( 'LinkedIn' ) },
	{ getLabelWithoutLink( 'Q4043051', 'LiveInternet'),									'Q4043051',		function (id)		return 'http://www.liveinternet.ru/users/' .. id end,			categoryExternalLink( 'LiveInternet' ) },
	{ getLabelWithoutLink( 'Q40629', 'MySpace'),										'P3265',		function (id)		return 'https://myspace.com/' .. id end,							categoryExternalLink( 'MySpace' ) },
	{ getLabelWithoutLink( 'Q40629', 'MySpace'),										'Q40629',		function (id)		return 'https://myspace.com/' .. id end,							categoryExternalLink( 'MySpace' ) },
	{ getLabelWithoutLink( 'Q17144398', 'QRoom'),										'Q17144398',	function (id)		return 'http://qroom.ru/' .. id end,								categoryExternalLink( 'QRoom' ) },
	{ getLabelWithoutLink( 'Q92526', 'Sina Weibo'),										'P3579',		function (id)		return 'https://weibo.com/' .. id end,							categoryExternalLink( 'Sina Weibo' ) },
	{ getLabelWithoutLink( 'Q92526', 'Sina Weibo'),										'Q92526',		function (id)		return 'https://weibo.com/' .. id end,							categoryExternalLink( 'Sina Weibo' ) },
	{ getLabelWithoutLink( 'Q28464970', 'Subreddit'),									'P3984',		function (id)		return 'https://www.reddit.com/r/' .. id .. '/' end,				categoryExternalLink( 'Subreddit' ) },
	{ getLabelWithoutLink( 'Q48938223', 'TikTok'),										'P7085',		function (id)		return 'https://www.tiktok.com/@' .. id end,						categoryExternalLink( 'TikTok' ) },
	{ getLabelWithoutLink( 'Q384060', 'Tumblr'),										'Q384060',		function (id)		return 'http://' .. id .. '.tumblr.com/' end,					categoryExternalLink( 'Tumblr' ) },
	{ getLabelWithoutLink( 'Q918', 'Twitter'),											'P2002',		function (id)		return 'https://twitter.com/' .. id end,							categoryExternalLink( 'Twitter' ) },
	{ getLabelWithoutLink( 'Q918', 'Twitter'),											'Q918',			function (id)		return 'https://twitter.com/' .. id end,							categoryExternalLink( 'Twitter' ) },
	{ getLabelWithoutLink( 'Q99767403', 'Twitter topic'),								'P8672',		function (id)		return 'https://twitter.com/i/topics/' .. id end,			categoryExternalLink( 'Twitter topic' ) },
	{ getLabelWithoutLink( 'Q116933', 'ВКонтакте'),   									'P3185',		function (id)		return 'https://vk.com/' .. id end,								categoryExternalLink( 'ВКонтакті' ) },
	{ getLabelWithoutLink( 'Q116933', 'ВКонтакте'), 									'Q116933',		function (id)		return 'https://vk.com/' .. id end,								categoryExternalLink( 'ВКонтакті' ) },
	{ getLabelWithoutLink( 'Q4101720', 'В колі друзів'),								'Q4101720',		function (id)		return 'http://' .. id .. '.vkrugudruzei.ru/' end,				categoryExternalLink( 'В колі друзів' ) },
	{ getLabelWithoutLink( 'Q4299813', 'Моє коло'),										'Q4299813',		function (id)		return 'http://' .. id .. '.moikrug.ru/' end,					categoryExternalLink( 'Моє коло' ) },
	{ getLabelWithoutLink( 'Q4299858', 'Мой мир'),										'Q4299858',		function (id)		return 'http://my.mail.ru/' .. id end,							categoryExternalLink( 'Мой мир' ) },
	{ getLabelWithoutLink( 'Q1123836', 'Odnoklassniki'),								'P5163',		function (id)		return 'https://ok' .. '.ru/' .. id end,	categoryExternalLink( 'Odnoklassniki' ) },
	{ getLabelWithoutLink( 'Q17195318', 'Спрашивай.Ру'),								'Q17195318',	function (id)		return 'http://sprashivai.ru/' .. id end,						categoryExternalLink( 'Спрашивай.Ру' ) }
}



--- група 3
local contentHostingProperties = {
	{ getLabelWithoutLink( 'Q565', 'Wikimedia Commons' ),								'P373',			function (id)		return ':commons:Category:' .. id	end,	categoryWithWikimediaCommons,			true	},
	{ getLabelWithoutLink( 'Q20056642', 'Apple Music' ),								'P2850',		function (id)		return 'https://music.apple.com/us/artist/' .. id end,	categoryExternalLink( 'Apple Podcasts' ) },
	{ getLabelWithoutLink( 'Q20056642', 'Apple Music' ),								'P2281',		function (id)		return 'https://music.apple.com/us/album/' .. id end,	categoryExternalLink( 'Apple Podcasts' ) },
	{ getLabelWithoutLink( 'Q70058728', 'Apple Podcasts' ),								'P5842',		function (id)		return 'https://podcasts.apple.com/podcast/' .. id end,	categoryExternalLink( 'Apple Podcasts' ) },
	{ getLabelWithoutLink( 'Q1022311', 'C-SPAN' ),										'P2190',		function (id)		return 'https://www.c-span.org/person/?' .. id end,	categoryExternalLink( 'C-SPAN' ) },
	{ getLabelWithoutLink( 'Q1022311', 'C-SPAN' ),										'P4725',		function (id)		return 'https://www.c-span.org/organization/?' .. id end,	categoryExternalLink( 'C-SPAN' ) },
	{ getLabelWithoutLink( 'Q538729', 'Classical Archives' ),							'P9686',		function (id)		return 'https://www.classicalarchives.com/newca/#!/Composer/' .. id end,	categoryExternalLink( 'Classical Archives' ) },
	{ getLabelWithoutLink( 'Q602243', 'Deezer' ),										'P2722',		function (id)		return 'https://www.deezer.com/ru/artist/' .. id end,	categoryExternalLink( 'Deezer' ) },
	{ getLabelWithoutLink( 'Q602243', 'Deezer' ),										'P2723',		function (id)		return 'https://www.deezer.com/ru/album/' .. id end,	categoryExternalLink( 'Deezer' ) },
	{ getLabelWithoutLink( 'Q602243', 'Deezer' ),										'P2724',		function (id)		return 'https://www.deezer.com/ru/track' .. id end,		categoryExternalLink( 'Deezer' ) },
	{ getLabelWithoutLink( 'Q103204', 'Flickr' ),										'P3267',		function (id)		return 'https://www.flickr.com/' .. id	end,				categoryExternalLink( 'Flickr' ),		false	},
--	{ getLabelWithoutLink( 'Q103204', 'Flickr' ),										'Q103204',		function (id)		return 'https://www.flickr.com/' .. id	end,				categoryExternalLink( 'Flickr' ),		false	},
	{ getLabelWithoutLink( 'Q3419343', 'Genius' ),										'P2373',		function (id)		return 'https://genius.com/artists/' .. id end,			categoryExternalLink( 'Genius' ) },
	{ getLabelWithoutLink( 'Q3419343', 'Genius' ),										'P6217',		function (id)		return 'https://genius.com/albums/' .. id end,			categoryExternalLink( 'Genius' ) },
	{ getLabelWithoutLink( 'Q3419343', 'Genius' ),										'P6218',		function (id)		return 'https://genius.com/' .. id end,					categoryExternalLink( 'Genius' ) },
	{ getLabelWithoutLink( 'Q55101335', 'Google Podcasts' ),							'P9003',		function (id)		return 'https://podcasts.google.com/feed/' .. id	end,		categoryExternalLink( 'Google Podcasts' ) },
	{ getLabelWithoutLink( 'Q18206550', 'Hymnary.org' ),								'P6300',		function (id)		return 'https://hymnary.org/person/' .. id	end,		categoryExternalLink( 'Hymnary.org' ) },
	{ getLabelWithoutLink( 'Q9589', 'iTunes' ),											'P2281',	    function (id)		return 'https://itunes.apple.com/us/album/' .. id end,	categoryExternalLink( 'iTunes' ) },
	{ getLabelWithoutLink( 'Q183718', 'Last.fm' ),										'P3192',		function (id)		return 'http://www.last.fm/ru/music/' .. id	end,				categoryExternalLink( 'Last.fm' ),		false	},
--	{ getLabelWithoutLink( 'Q183718', 'Last.fm' ),										'Q183718',		function (id)		return 'http://www.last.fm/ru/music/' .. id	end,				categoryExternalLink( 'Last.fm' ),		false	},
	{ getLabelWithoutLink( 'Q3831584', 'Liber Liber' ),									'P7208',		function (id)		return 'https://www.liberliber.it/online/autori/autori-' .. id end,			categoryExternalLink( 'Liber Liber' ),		false	},
	{ getLabelWithoutLink( 'Q6883832', 'Mixcloud' ),									'Q6883832',		function (id)		return 'https://mixcloud.com/' .. id .. '/'	end,			categoryExternalLink( 'Mixcloud' ),		false	},
--	{ getLabelWithoutLink( 'Q936394', 'Pornhub' ),										'P5246',		function (id)		return 'https://www.pornhub.com/pornstar/' .. id	end,			categoryExternalLink( 'Pornhub' ),		false	},
	{ getLabelWithoutLink( 'Q17117201', 'PROMODJ' ),									'Q17117201',	function (id)		return 'http://promodj.com/' .. id	end,		categoryExternalLink( 'PROMODJ' ),		false	},
--	{ getLabelWithoutLink( 'Q1264738', 'RedTube' ),										'P5540',		function (id)		return 'https://www.%72edtube.com/pornstar/' .. id	end,				categoryExternalLink( 'RedTube' ),		false	},
	{ getLabelWithoutLink( 'Q372827', 'Rutube' ),										'P10152',		function (id)		return 'https://rutube.ru/channel/' .. id	.. '/'	end,				categoryExternalLink( 'Rutube' ),		false	},
--	{ getLabelWithoutLink( 'Q372827', 'Rutube' ),										'Q372827',		rutubeLink,				categoryExternalLink( 'Rutube' ),		false	},
	{ getLabelWithoutLink( 'Q7561274', 'Songkick' ),									'P3478',		function (id)		return 'https://www.songkick.com/artists/' .. id	end,			categoryExternalLink( 'Songkick' ),	false	},
	{ getLabelWithoutLink( 'Q568769', 'SoundCloud' ),									'P3040',		function (id)		return 'http://soundcloud.com/' .. id	end,			categoryExternalLink( 'SoundCloud' ),	false	},
--	{ getLabelWithoutLink( 'Q568769', 'SoundCloud' ),									'Q568769',		function (id)		return 'http://soundcloud.com/' .. id	end,			categoryExternalLink( 'SoundCloud' ),	false	},
	{ getLabelWithoutLink( 'Q689141', 'Spotify' ),										'P1902',		function (id)		return 'https://open.spotify.com/artist/' .. id	end,			categoryExternalLink( 'Spotify' ) },
	{ getLabelWithoutLink( 'Q689141', 'Spotify' ),										'P2205',		function (id)		return 'https://open.spotify.com/search/album:' .. id	end,			categoryExternalLink( 'Spotify' ) },
	{ getLabelWithoutLink( 'Q689141', 'Spotify' ),										'P2207',		function (id)		return 'https://open.spotify.com/track/' .. id	end,			categoryExternalLink( 'Spotify' ) },
	{ getLabelWithoutLink( 'Q689141', 'Spotify' ),										'P5916',		function (id)		return 'https://open.spotify.com/show/' .. id	end,			categoryExternalLink( 'Spotify' ) },
	{ getLabelWithoutLink( 'Q7617643', 'Stitcher' ),									'P9004',		function (id)		return 'https://www.stitcher.com/show/' .. id	end,			categoryExternalLink( 'Stitcher' ) },
	{ getLabelWithoutLink( 'Q215363', 'Sveriges Television' ),							'P6817',		function (id)		return 'https://www.svtplay.se/' .. id	end,			categoryExternalLink( 'Sveriges Television' ) },
	{ getLabelWithoutLink( 'Q156376', 'Vimeo' ),										'P4015',		function (id)		return 'https://vimeo.com/' .. id	end,				categoryExternalLink( 'Vimeo' ),		false	},
--	{ getLabelWithoutLink( 'Q156376', 'Vimeo' ),										'Q156376',		function (id)		return 'https://vimeo.com/' .. id	end,				categoryExternalLink( 'Vimeo' ),		false	},
--	{ getLabelWithoutLink( 'Q842863', 'YouPorn' ),										'P5267',		function (id)		return 'https://www.%79ouporn.com/pornstar/' .. id	.. '/wd/'	end,		categoryExternalLink( 'YouPorn' ),		false	},
	{ getLabelWithoutLink( 'Q866', 'YouTube' ),											'P2397',		function (id)		return 'https://www.youtube.com/channel/' .. id	end,		categoryExternalLink( 'YouTube' ),		false	},
--	{ getLabelWithoutLink( 'Q866', 'YouTube' ),											'Q866',			function (id)		return 'https://www.youtube.com/user/' .. id	end,		categoryExternalLink( 'YouTube' ),		false	},
	{ getLabelWithoutLink( 'Q63412991', 'YouTube video' ),								'P1651',		function (id)		return 'https://www.youtube.com/watch?v=' .. id	end,		categoryExternalLink( 'YouTube video' ),		false	},
	{ getLabelWithoutLink( 'Q107704660', 'Музика ВКонтакте' ),							'P9694',		function (id)		return 'https://vk.com/artist/' .. id	end,		categoryExternalLink( 'Музика ВКонтакте' ),		false	},
	{ getLabelWithoutLink( 'Q29223522', 'Яндекс.Дзен' ),								'P8816',		function (id)		return 'https://zen.yandex.ru/' .. id	end,		categoryExternalLink( 'Яндекс.Дзен' ),		false	},
	{ getLabelWithoutLink( 'Q4537983', 'Яндекс.Музика' ),								'P1553',		function (id)		return 'https://music.yandex.ru/artist/' .. id	end,		categoryExternalLink( 'Яндекс.Музика' ),		false	},
}



--- група 4
local labelAllocine = getLabelWithoutLink( 'Q31165', 'AlloCiné' );
local labelAnimeNewsNetwork = getLabelWithoutLink( 'Q220509', 'Anime News Network' );
local labelIBDb = getLabelWithoutLink( 'Q31964', 'Internet Broadway Database' );
local labelMusicBrainz = getLabelWithoutLink( 'Q14005', 'MusicBrainz' );
local labelEncyclopaediaMetallum = getLabelWithoutLink( 'Q938726', 'Encyclopaedia Metallum' );

local mediaProperties = {
	{ getLabelWithoutLink( 'Q9583664', 'AdoroCinema' ),									'P10266',	function (id)		return 'https://www.adorocinema.com/personalidades/personalidade-' .. id end,	categoryExternalLink( 'AdoroCinema' ) },
	{ getLabelWithoutLink( 'Q732004', 'Adult Film Database' ),							'P3351',	function (id)		return 'https://www.adultfilmdatabase.com/actor.cfm?actorid=' .. id end,	categoryExternalLink( 'Adult Film Database' ) },
	{ getLabelWithoutLink( 'Q379049', 'Adult Video News' ),								'P8718',	function (id)		return 'https://avn.com/porn-stars/wd-' .. id .. '.html'	end,	categoryExternalLink( 'Adult Video News' ) },
	{ getLabelWithoutLink( 'Q7713473', 'AFI' ),											'P3593',	function (id)		return 'http://www.afi.com/members/catalog/DetailView.aspx?s=&Movie=' .. id end,	categoryExternalLink( 'AFI' ) },
	{ getLabelWithoutLink( 'Q11190174', 'AllCinema' ),									'P2465',	function (id)		return 'https://www.allcinema.net/cinema/' .. id end,									categoryExternalLink( 'AllCinema' ) },
	{ getLabelWithoutLink( 'Q11190174', 'AllCinema' ),									'P7214',	function (id)		return 'https://www.allcinema.net/person/' .. id end,									categoryExternalLink( 'AllCinema' ) },
	{ getLabelWithoutLink( 'Q477809', 'AllMovie' ),										'P1562',	function (id)		return 'http://www.allmovie.com/movie/' .. id end,									categoryExternalLink( 'AllMovie' ) },
	{ getLabelWithoutLink( 'Q477809', 'AllMovie' ),										'P2019',	function (id)		return 'http://www.allmovie.com/artist/' .. id end,		categoryExternalLink( 'AllMovie' ) },
	{ getLabelWithoutLink( 'Q31181', 'AllMusic' ),										'P1728',	function (id)		return 'http://www.allmusic.com/artist/' .. id end,		categoryExternalLink( 'AllMusic' ) },
	{ getLabelWithoutLink( 'Q31181', 'AllMusic' ),										'P1729',	function (id)		return 'http://www.allmusic.com/album/' .. id end,			categoryExternalLink( 'AllMusic' ) },
	{ getLabelWithoutLink( 'Q31181', 'AllMusic' ),										'P1730',	function (id)		return 'http://www.allmusic.com/song/' .. id end,			categoryExternalLink( 'AllMusic' ) },
	{ getLabelWithoutLink( 'Q31181', 'AllMusic' ),										'P1994',	function (id)		return 'http://www.allmusic.com/composition/' .. id end,	categoryExternalLink( 'AllMusic' ) },
--	{ labelAllocine,												    				'P1265',	function (id)		return 'http://www.allocine.fr/film/fichefilm_gen_cfilm=' .. id .. '.html'	end,				categoryExternalLink( 'AlloCiné' ) },
--	{ labelAllocine,																	'P1266',	function (id)		return 'http://www.allocine.fr/personne/fichepersonne_gen_cpersonne=' .. id .. '.html'	end,			categoryExternalLink( 'AlloCiné' ) },
--	{ labelAllocine,																	'P1267',	function (id)		return 'http://www.allocine.fr/series/ficheserie_gen_cserie=' .. id .. '.html'	end,				categoryExternalLink( 'AlloCiné' ) },
	{ labelAnimeNewsNetwork,															'P1982',	function (id)		return 'http://www.animenewsnetwork.com/encyclopedia/people.php?id=' .. id end,	categoryExternalLink( 'Anime News Network' ) },
	{ labelAnimeNewsNetwork,															'P1983',	function (id)		return 'http://www.animenewsnetwork.com/encyclopedia/company.php?id=' .. id end,	categoryExternalLink( 'Anime News Network' ) },
	{ labelAnimeNewsNetwork,															'P1984',	function (id)		return 'http://www.animenewsnetwork.com/encyclopedia/manga.php?id=' .. id end,		categoryExternalLink( 'Anime News Network' ) },
	{ labelAnimeNewsNetwork,															'P1985',	function (id)		return 'http://www.animenewsnetwork.com/encyclopedia/anime?id=' .. id end,			categoryExternalLink( 'Anime News Network' ) },
	{ getLabelWithoutLink( 'Q3626651', 'ANICA' ),							            'P6151',	function (id)		 return 'http://www.archiviodelcinemaitaliano.it/index.php/scheda.html?codice=' .. id end, categoryExternalLink( 'ANICA' ) },
	{ getLabelWithoutLink( 'Q220509', 'Anime News Network' ),							'P1984',	function (id)		return 'https://www.animenewsnetwork.com/encyclopedia/manga.php?id=' .. id end, categoryExternalLink( 'Anime News Network' ) },
	{ getLabelWithoutLink( 'Q56193019', 'AniDB' ),                                      'P5646',    function (id)		return 'https://anidb.net/perl-bin/animedb.pl?show=anime&aid=' .. id end, categoryExternalLink( 'AniDB' ) },
	{ getLabelWithoutLink( 'Q56193019', 'AniDB' ),										'P5648',	function (id)		return 'https://anidb.net/perl-bin/animedb.pl?show=character&charid=' .. id end, categoryExternalLink( 'AniDB' ) },
	{ getLabelWithoutLink( 'Q56193019', 'AniDB' ),										'P5649',	function (id)		return 'https://anidb.net/perl-bin/animedb.pl?show=creator&creatorid=' .. id end, categoryExternalLink( 'AniDB' ) },
	{ getLabelWithoutLink( 'Q545966', 'Bandcamp' ),										'P3283',	function (id)		return 'https://' .. id .. '.bandcamp.com' end, categoryExternalLink( 'Bandcamp' ) },
	{ getLabelWithoutLink( 'Q245966', 'BND' ),											'P5691',	function (id)		return 'http://purl.pt/' .. id end, categoryExternalLink( 'BND' ) },
	{ getLabelWithoutLink( 'Q223142', 'Box Office Mojo' ),							    'P1237',	function (id)		return 'http://www.boxofficemojo.com/movies/?id=' .. id .. '.htm'	end,				categoryExternalLink( 'Box Office Mojo' ) },
	{ getLabelWithoutLink( 'Q30500746', 'Carnegie Hall linked open data' ),			    'P4104',	function (id)		return 'https://data.carnegiehall.org/names/' .. id .. '/about'	end,				categoryExternalLink( 'Carnegie Hall linked open data' ) },
	{ getLabelWithoutLink( 'Q16539867', 'Ciné-Ressources' ),							'P3203',	function (id)		return 'http://cinema.encyclopedie.films.bifi.fr/index.php?pk=' .. id end, categoryExternalLink( 'Ciné-Ressources' ) },
	{ getLabelWithoutLink( 'Q16539867', 'Ciné-Ressources' ),							'P3204',	function (id)		return 'http://cinema.encyclopedie.personnalites.bifi.fr/index.php?pk=' .. id end, categoryExternalLink( 'Ciné-Ressources' ) },
	{ getLabelWithoutLink( 'Q1674691', 'Cinema of Israel' ),							'P3445',	function (id)		return 'http://www.cinemaofisrael.co.il/?p=' .. id end, categoryExternalLink( 'Cinema of Israel' ) },
	{ getLabelWithoutLink( 'Q15065727', 'CineMagia' ),									'P4666',	function (id)		return 'https://www.cinemagia.ro/actor.php?actor_id=' .. id end, categoryExternalLink( 'CineMagia' ) },
	{ getLabelWithoutLink( 'Q2973248', 'Cinémathèque québécoise' ),						'P4276',	function (id)		return 'http://collections.cinematheque.qc.ca/recherche/oeuvres/fiche/' .. id end, categoryExternalLink( 'Cinémathèque québécoise' ) },
	{ getLabelWithoutLink( 'Q2973248', 'Cinémathèque québécoise' ),						'P8971',	function (id)		return 'https://data.cinematheque.qc.ca/resource/Person' .. id end, categoryExternalLink( 'Cinémathèque québécoise' ) },
	{ getLabelWithoutLink( 'Q30055831', 'Cineuropa' ),									'P5791',	function (id)		return 'http://www.cineuropa.org/en/film/' .. id end, categoryExternalLink( 'Cineuropa' ) },
	{ getLabelWithoutLink( 'Q30055831', 'Cineuropa' ),									'P6083',	function (id)		return 'https://cineuropa.org/filmography/' .. id end, categoryExternalLink( 'Cineuropa' ) },
	{ getLabelWithoutLink( 'Q24688914', 'Comic Vine' ),									'P5905',	function (id)		return 'https://comicvine.gamespot.com/wd//' .. id .. '/' end, categoryExternalLink( 'Comic Vine' ) },
	{ getLabelWithoutLink( 'Q3561957', 'ČSFD' ),										'P2529',	function (id)		return 'http://www.csfd.cz/film/' .. id ..'/prehled/' end, categoryExternalLink( 'ČSFD' ) },
	{ getLabelWithoutLink( 'Q3561957', 'ČSFD' ),										'P2605',	function (id)		return 'http://www.csfd.cz/tvurce/' .. id ..'/' end, categoryExternalLink( 'ČSFD' ) },	
	{ getLabelWithoutLink( 'Q16323348', 'Danmarks Nationalfilmografi' ),				'P1804',	function (id)		return 'https://www.dfi.dk/viden-om-film/filmdatabasen/film/' .. id end,	categoryExternalLink( 'DNF' ) },
	{ getLabelWithoutLink( 'Q16323348', 'Danmarks Nationalfilmografi' ),				'P2626',	function (id)		return 'https://www.dfi.dk/viden-om-film/filmdatabasen/person/' .. id end,	categoryExternalLink( 'DNF' ) },
	{ getLabelWithoutLink( 'Q5159753', 'DanskeFilm.dk' ),								'P3785',	function (id)		return 'https://www.danskefilm.dk/film.php?id=' .. id end,	categoryExternalLink( 'DanskeFilm.dk' ) },
	{ getLabelWithoutLink( 'Q5159753', 'DanskeFilm.dk' ),								'P3786',	function (id)		return 'https://www.danskefilm.dk/skuespiller.php?id=' .. id end,	categoryExternalLink( 'DanskeFilm.dk' ) },
	{ getLabelWithoutLink( 'Q5159753', 'DanskeFilm.dk' ),								'P3787',	function (id)		return 'https://www.danskefilm.dk/stumfilm.php?id=' .. id end,	categoryExternalLink( 'DanskeFilm.dk' ) },
	{ getLabelWithoutLink( 'Q5159753', 'DanskeFilm.dk' ),								'P4021',	function (id)		return 'https://www.danskefilm.dk/tegnefilm.php?id=' .. id end,	categoryExternalLink( 'DanskeFilm.dk' ) },
	{ getLabelWithoutLink( 'Q5159753', 'DanskeFilm.dk' ),								'P4022',	function (id)		return 'https://www.danskefilm.dk/tvserie.php?id=' .. id end,	categoryExternalLink( 'DanskeFilm.dk' ) },
	{ getLabelWithoutLink( 'Q100922726', 'Decine21.com' ),								'P7803',	function (id)		return 'https://decine21.com/biografias/' .. id end,	categoryExternalLink( 'Decine21.com' ) },
	{ getLabelWithoutLink( 'Q100922726', 'Decine21.com' ),								'P7978',	function (id)		return 'https://decine21.com/peliculas/' .. id end,	categoryExternalLink( 'Decine21.com' ) },
	{ getLabelWithoutLink( 'Q1204237', 'Deutsche Synchronkartei' ),   	                'P3844',	function (id)		return 'https://www.synchronkartei.de/film/' .. id end,	categoryExternalLink( 'Deutsche Synchronkartei' ) },
	{ getLabelWithoutLink( 'Q1204237', 'Deutsche Synchronkartei' ), 	                'P4332',	function (id)		return 'https://www.synchronkartei.de/darsteller/' .. id end,	categoryExternalLink( 'Deutsche Synchronkartei' ) },
	{ getLabelWithoutLink( 'Q504063', 'Discogs' ),										'P1953',	function (id)		return 'http://www.discogs.com/artist/' .. id end,				categoryExternalLink( 'Discogs' ) },
	{ getLabelWithoutLink( 'Q504063', 'Discogs' ),										'P1954',	function (id)		return 'http://www.discogs.com/master/' .. id end,				categoryExternalLink( 'Discogs' ) },
	{ getLabelWithoutLink( 'Q504063', 'Discogs' ),										'P1955',	function (id)		return 'http://www.discogs.com/label/' .. id end,				categoryExternalLink( 'Discogs' ) },
	{ getLabelWithoutLink( 'Q504063', 'Discogs' ),										'P2206',	function (id)		return 'http://www.discogs.com/release/' .. id end,			categoryExternalLink( 'Discogs' ) },
	{ getLabelWithoutLink( 'Q5299559', 'Douban' ),										'P5284',	function (id)		return 'https://movie.douban.com/celebrity/' .. id .. '/' end,			categoryExternalLink( 'Douban' ) },
	{ getLabelWithoutLink( 'Q96747621', 'DzygaMDB'),							        'P9229',	function (id)		return 'https://dzygamdb.com/uk/persons/' .. id end,	        categoryExternalLink( 'DzygaMDB' ) },
	{ getLabelWithoutLink( 'Q96747621', 'DzygaMDB'),							        'P9461',	function (id)		return 'https://dzygamdb.com/uk/films/' .. id end,	categoryExternalLink( 'DzygaMDB' ) },   
	{ getLabelWithoutLink( 'Q111575900', 'EDb'),								        'P3141',	function (id)		return 'https://www.edb.co.il/title/' .. id .. '/' end,	categoryExternalLink( 'EDb' ) },   
	{ getLabelWithoutLink( 'Q111575900', 'EDb'),								        'P3142',	function (id)		return 'https://www.edb.co.il/name/' .. id .. '/' end,	categoryExternalLink( 'EDb' ) },   
	{ getLabelWithoutLink( 'Q111575900', 'EDb'),								        'P5576',	function (id)		return 'https://www.edb.co.il/company/' .. id .. '/' end,	categoryExternalLink( 'EDb' ) },   
	{ getLabelWithoutLink( 'Q12232024', 'elCinema.com'),						        'P3135',	function (id)		return 'https://elcinema.com/work/' .. id .. '/' end,	categoryExternalLink( 'elCinema.com' ) },   
	{ getLabelWithoutLink( 'Q12232024', 'elCinema.com'),						        'P3136',	function (id)		return 'https://elcinema.com/person/' .. id .. '/' end,	categoryExternalLink( 'elCinema.com' ) },   
	{ getLabelWithoutLink( 'Q111574166', 'elFilm'),								        'P3143',	function (id)		return 'https://web.archive.org/web/20170712052243/http://www.elfilm.com/title/' .. id .. '/' end,	categoryExternalLink( 'elFilm' ) },   
	{ getLabelWithoutLink( 'Q111574166', 'elFilm'),								        'P3144',	function (id)		return 'https://web.archive.org/web/20180516082959/http://www.elfilm.com/name/' .. id .. '/' end,	categoryExternalLink( 'elFilm' ) },   
	{ getLabelWithoutLink( 'Q4357006', 'Elonet'),								        'P2387',	function (id)		return 'https://www.elonet.fi/fi/henkilo/' .. id end,	categoryExternalLink( 'Elonet' ) },   
	{ labelEncyclopaediaMetallum,														'P1952',	function (id)		return 'http://www.metal-archives.com/bands//' .. id end,	    categoryExternalLink( 'Encyclopaedia Metallum' ) },
	{ labelEncyclopaediaMetallum,														'P1989',	function (id)		return 'http://www.metal-archives.com/artists//' .. id end,	categoryExternalLink( 'Encyclopaedia Metallum' ) },
	{ getLabelWithoutLink( 'Q2638147', 'FilmAffinity' ),								'P480',		function (id)		return 'http://www.filmaffinity.com/en/film' .. id .. '.html' end,	categoryExternalLink( 'FilmAffinity' ) },
	{ getLabelWithoutLink( 'Q28424607', 'Filmový přehled' ),							'P7519',	function (id)		return 'https://www.filmovyprehled.cz/cs/film/' .. id end,	categoryExternalLink( 'Filmový přehled' ) },
	{ getLabelWithoutLink( 'Q28424607', 'Filmový přehled' ),							'P7520',	function (id)		return 'https://www.filmovyprehled.cz/cs/person/' .. id end,	categoryExternalLink( 'Filmový přehled' ) },
	{ getLabelWithoutLink( 'Q15672050', 'FilmPolski'),									'P3495',	function (id)		return 'http://www.filmpolski.pl/fp/index.php/' .. id end ,	categoryExternalLink( 'Filmpolski' ) },
	{ getLabelWithoutLink( 'Q15706812', 'Filmportal' ),									'P2639',	function (id)		return 'http://www.filmportal.de/' .. id end ,	    categoryExternalLink( 'Filmportal' ) },
	{ getLabelWithoutLink( 'Q28944146', 'FilmTV.it' ),									'P5253',	function (id)		return 'https://www.filmtv.it/film/' .. id end ,	            categoryExternalLink( 'FilmTV.it' ) },
	{ getLabelWithoutLink( 'Q28944146', 'FilmTV.it' ),									'P5254',	function (id)		return 'https://www.filmtv.it/persona/' .. id end ,	        categoryExternalLink( 'FilmTV.it' ) },
	{ getLabelWithoutLink( 'Q28944146', 'FilmTV.it' ),									'P5255',	function (id)		return 'https://www.filmtv.it/serie-tv/' .. id end ,	        categoryExternalLink( 'FilmTV.it' ) },
	{ getLabelWithoutLink( 'Q2090445', 'Filmweb' ),										'P3995',	function (id)		return 'http://www.filmweb.pl/' .. id end ,	                categoryExternalLink( 'Filmweb' ) },
	{ getLabelWithoutLink( 'Q2090445', 'Filmweb' ),										'P5032',	function (id)		return 'http://www.filmweb.pl/film?Id=' .. id end ,	        categoryExternalLink( 'Filmweb' ) },
	{ getLabelWithoutLink( 'Q2090445', 'Filmweb' ),										'P5033',	function (id)		return 'http://www.filmweb.pl/person?Id=' .. id end ,	        categoryExternalLink( 'Filmweb' ) },
	{ getLabelWithoutLink( 'Q1569586', 'Hyperion Records' ),							'P8870',	function (id)		return 'https://www.hyperion-records.co.uk/c.asp?c=' .. id end ,	        categoryExternalLink( 'Hyperion Records' ) },
	{ getLabelWithoutLink( 'Q5918374', 'ICAA' ),										'P5128',	function (id)		return 'http://infoicaa.mecd.es/CatalogoICAA/Peliculas/Detalle?pelicula=' .. id end ,	categoryExternalLink( 'Каталог фільмів ICAA' ) },
	{ getLabelWithoutLink( 'Q1052713', 'Internet Adult Film Database'),					'P3869',	function (id)		return 'https://www.iafd.com/person.rme/perfid=' .. id .. '/gender=f' end,           categoryExternalLink( 'Internet Adult Film Database' ) },
	{ getLabelWithoutLink( 'Q461', 'Internet Archive'),									'P724',		function (id)		return 'https://archive.org/details/' .. id end,           categoryExternalLink( 'Internet Archive' ) },
	{ labelIBDb,																		'P1217',	function (id)		return 'http://www.ibdb.com/venue.php?id=' .. id	end,					categoryExternalLink( 'IBDb' ) },
	{ labelIBDb,																		'P1218',	function (id)		return 'http://www.ibdb.com/production.php?id=' .. id	end,				categoryExternalLink( 'IBDb' ) },
	{ labelIBDb,																		'P1219',	function (id)		return 'http://www.ibdb.com/show.php?id=' .. id	end,					categoryExternalLink( 'IBDb' ) },
	{ labelIBDb,																		'P1220',	function (id)		return 'http://www.ibdb.com/person.php?id=' .. id	end,					categoryExternalLink( 'IBDb' ) },
	{ getLabelWithoutLink( 'Q37312', 'Internet Movie Database' ),						'P345',		imdbLink,						categoryExternalLink( 'IMDb' ) },
	{ getLabelWithoutLink( 'Q523660', 'International Music Score Library Project' ),	'P839',		function (id)		return 'http://imslp.org/wiki/' .. id	end,						categoryExternalLink( 'IMSLP' ) },
	{ getLabelWithoutLink( 'Q50813730', 'Invaluable.com' ),								'P4927',	function (id)		return 'https://www.invaluable.com/artist/-' .. id	end,						categoryExternalLink( 'Invaluable.com' ) },
	{ getLabelWithoutLink( 'Q9589', 'iTunes' ),						                    'P2850',	function (id)		return 'https://itunes.apple.com/us/artist/' .. id end,	categoryExternalLink( 'iTunes' ) },
	{ getLabelWithoutLink( 'Q1320308', 'Japanese Movie Database'),	                	'P2400',    function (id)		return 'http://www.jmdb.ne.jp/' .. id .. '.htm' end,           categoryExternalLink( 'JMDb' ) },
	{ getLabelWithoutLink( 'Q1320308', 'Japanese Movie Database'),	                	'P3703',    function (id)		return 'http://www.jmdb.ne.jp/person/p' .. id .. '.htm' end,    categoryExternalLink( 'JMDb' ) },    
	{ getLabelWithoutLink( 'Q63067780', 'Jaxsta'),						              	'P7052',    function (id)		return 'https://jaxsta.com/profile/' .. id end,    categoryExternalLink( 'Jaxsta' ) },    
	{ getLabelWithoutLink( 'Q11296881', 'KINENOTE', '' ),								'P2508',	function (id)		return 'http://www.kinenote.com/main/public/cinema/detail.aspx?cinema_id=' .. id end, categoryExternalLink( 'KINENOTE' ) },
	{ getLabelWithoutLink( 'Q11296881', 'KINENOTE', '' ),								'P3305',	function (id)		return 'http://www.kinenote.com/main/public/cinema/person.aspx?person_id=' .. id end, categoryExternalLink( 'KINENOTE' ) },
	{ getLabelWithoutLink( 'Q110216997', 'KinoFilms.ua' ),								'P10267',   function (id)		return 'https://www.kinofilms.ua/' .. id .. '/' end, categoryExternalLink( 'KinoFilms.ua' ) },
	{ getLabelWithoutLink( 'Q110216997', 'KinoFilms.ua' ),								'P10268',   function (id)		return 'https://www.kinofilms.ua/star/' .. id .. '/' end, categoryExternalLink( 'KinoFilms.ua' ) },
	{ getLabelWithoutLink( 'Q2389071', 'KinoPoisk.ru' ),								'P2604',    function (id)		return 'https://www.kinopoisk.ru/name/' .. id .. '/' end, categoryExternalLink( 'KinoPoisk.ru' ) },
	{ getLabelWithoutLink( 'Q28666947', 'Kino-Teatr.ru'),							    'P7808',	function (id)		return 'https://www.kino-teatr.ru/acter/' .. id end,	    categoryExternalLink( 'Kino-Teatr.ru' ) },
	{ getLabelWithoutLink( 'Q12071437', 'Kino-teatr.ua'),							    'P5311',	function (id)		return 'http://kino-teatr.ua/uk/main/film/film_id/' .. id .. '.phtml' end,	    categoryExternalLink( 'Kino-teatr.ua' ) },
	{ getLabelWithoutLink( 'Q12071437', 'Kino-teatr.ua'),							    'P5312',	function (id)		return 'http://kino-teatr.ua/uk/main/person/person_id/' .. id .. '.phtml' end,	    categoryExternalLink( 'Kino-teatr.ua' ) },
	{ getLabelWithoutLink( 'Q486744', 'Korean Movie Database'),						    'P1649',	function (id)		return 'https://www.kmdb.or.kr/eng/db/per/' .. id end,	    categoryExternalLink( 'Korean Movie Database' ) },
	{ getLabelWithoutLink( 'Q47085761', 'LUMIERE' ),						            'P4282',	function (id)		return 'http://lumiere.obs.coe.int/web/film_info/?id=' .. id end,	    categoryExternalLink( 'LUMIERE' ) },
	{ getLabelWithoutLink( 'Q47085761', 'LUMIERE' ),						            'P4283',	function (id)		return 'http://lumiere.obs.coe.int/web/director_info/?lum_id=' .. id end,	categoryExternalLink( 'LUMIERE' ) },
	{ getLabelWithoutLink( 'Q66429487', 'LyricsTranslate' ),				            'P7212',	function (id)		return 'https://lyricstranslate.com/' .. id end,	categoryExternalLink( 'LyricsTranslate' ) },
	{ getLabelWithoutLink( 'Q4043924', 'Megogo' ),						                'P2826',	function (id)		return 'http://megogo.net/ua/view/' .. id	end,						categoryExternalLink( 'Megogo' ) },
	{ getLabelWithoutLink( 'Q150248', 'Metacritic' ),							    	'P1712',	function (id)		return 'http://www.metacritic.com/' .. id end,        categoryExternalLink( 'Metacritic' ) },
	{ getLabelWithoutLink( 'Q2158761', 'MovieMeter' ),							    	'P1969',	function (id)		return 'https://www.moviemeter.nl/director/' .. id end,        categoryExternalLink( 'MovieMeter' ) },
	{ getLabelWithoutLink( 'Q2158761', 'MovieMeter' ),							    	'P1970',	function (id)		return 'https://www.moviemeter.nl/film/' .. id end,			categoryExternalLink( 'MovieMeter' ) },
	{ getLabelWithoutLink( 'Q2158761', 'MovieMeter' ),							    	'P9463',	function (id)		return 'https://www.moviemeter.nl/site/zoeken/' .. id end,		categoryExternalLink( 'MovieMeter' ) },
	{ getLabelWithoutLink( 'Q1951172', 'Moviepilot' ),							    	'P5786',	function (id)		return 'https://www.moviepilot.de/movies/' .. id end,			categoryExternalLink( 'Moviepilot' ) },
	{ getLabelWithoutLink( 'Q67954456', 'Musik-Sammler.de' ),					    	'P9965',	function (id)		return 'https://www.musik-sammler.de/artist/' .. id end,			categoryExternalLink( 'Musik-Sammler.de' ) },
	{ labelMusicBrainz,																	'P434',		function (id)		return 'https://musicbrainz.org/artist/' .. id	end,			categoryExternalLink( 'MusicBrainz' ) },
	{ labelMusicBrainz,																	'P435',		function (id)		return 'https://musicbrainz.org/work/' .. id	end,			categoryExternalLink( 'MusicBrainz' ) },
	{ labelMusicBrainz,																	'P436',		function (id)		return 'https://musicbrainz.org/release-group/' .. id	end,	categoryExternalLink( 'MusicBrainz' ) },
	{ labelMusicBrainz,																	'P982',		function (id)		return 'https://musicbrainz.org/area/' .. id	end,	categoryExternalLink( 'MusicBrainz' ) },
	{ labelMusicBrainz,																	'P1407',	function (id)		return 'https://musicbrainz.org/series/' .. id	end,	categoryExternalLink( 'MusicBrainz' ) },
	{ getLabelWithoutLink( 'Q18088607', 'muziekweb.nl' ),						    	'P5882',	function (id)		return 'https://www.muziekweb.eu/en/Link/' .. id .. '/' end,		categoryExternalLink( 'muziekweb.nl' ) },
	{ getLabelWithoutLink( 'Q4044680', 'MyAnimeList' ),							    	'P4084',	function (id)		return 'https://myanimelist.net/people/' .. id end,		categoryExternalLink( 'MyAnimeList' ) },
	{ getLabelWithoutLink( 'Q3841788', 'MYmovies' ),							    	'P4779',	function (id)		return 'http://www.mymovies.it/biografia/?a=' .. id end,		categoryExternalLink( 'MYmovies' ) },
	{ getLabelWithoutLink( 'Q3841788', 'MYmovies' ),							    	'P4780',	function (id)		return 'http://www.mymovies.it/dizionario/recensione.asp?id=' .. id end,			categoryExternalLink( 'MYmovies' ) },
	{ getLabelWithoutLink( 'Q3841788', 'MYmovies' ),							    	'P4781',	function (id)		return 'http://www.mymovies.it/biografia/?r=' .. id end,		categoryExternalLink( 'MYmovies' ) },
	{ getLabelWithoutLink( 'Q3841788', 'MYmovies' ),							    	'P4785',	function (id)		return 'http://www.mymovies.it/biografia/?s=' .. id end,		categoryExternalLink( 'MYmovies' ) },
	{ getLabelWithoutLink( 'Q3841788', 'MYmovies' ),							    	'P9995',	function (id)		return 'https://www.mymovies.it/persone/wd/' .. id end,		categoryExternalLink( 'MYmovies' ) },
	{ getLabelWithoutLink( 'Q907311', 'Netflix'),	                    	            'P1874',	function (id)		return 'https://www.netflix.com/title/' .. id end,             categoryExternalLink( 'Netflix' ) },
	{ getLabelWithoutLink( 'Q25434763', 'Okino.ua'),	                   	            'P10194',	function (id)		return 'https://www.okino.ua/name/wd-' .. id end,             categoryExternalLink( 'Okino.ua' ) },
	{ getLabelWithoutLink( 'Q25434763', 'Okino.ua'),	                   	            'P10255',	function (id)		return 'https://www.okino.ua/film/wd-' .. id end,             categoryExternalLink( 'Okino.ua' ) },
	{ getLabelWithoutLink( 'Q27653527', 'OMDb' ),							      	    'P3302',	function (id)		return 'https://www.omdb.org/movie/' .. id	end,			    categoryExternalLink( 'OMDb' ) },
	{ getLabelWithoutLink( 'Q27653527', 'OMDb' ),							      	    'P5534',	function (id)		return 'https://www.omdb.org/en/us/person/' .. id	end,			categoryExternalLink( 'OMDb' ) },
	{ getLabelWithoutLink( 'Q1669874', 'Online-Filmdatenbank'),	                    	'P3138',	function (id)		return 'https://ssl.ofdb.de/film/' .. id .. ',' end,           categoryExternalLink( 'Online-Filmdatenbank' ) },
	{ getLabelWithoutLink( 'Q1669874', 'Online-Filmdatenbank'),	                    	'P9404',	function (id)		return 'https://www.ofdb.de/view.php?page=person&id=' .. id end,           categoryExternalLink( 'Online-Filmdatenbank' ) },
	{ getLabelWithoutLink( 'Q833424', 'PORT.hu'),	    			                	'P2435',	function (id)		return 'https://port.hu/jump/person-' .. id end,           categoryExternalLink( 'PORT.hu' ) },
	{ getLabelWithoutLink( 'Q1145963', 'Rate Your Music' ),								'P5404',	function (id)		return 'https://rateyourmusic.com/artist/' .. id	end,			categoryExternalLink( 'Rate Your Music' ) },
	{ getLabelWithoutLink( 'Q1145963', 'Rate Your Music' ),								'P8392',	function (id)		return 'https://rateyourmusic.com/release/' .. id	end,			categoryExternalLink( 'Rate Your Music' ) },
	{ getLabelWithoutLink( 'Q3938001', 'Rivista del Cinematografo'),					'P4768',	function (id)		return 'https://www.cinematografo.it/pls/cinematografo/consultazione.redirect?ida=' .. id end, categoryExternalLink( 'Rivista del Cinematografo' ) },
	{ getLabelWithoutLink( 'Q3938001', 'Rivista del Cinematografo'),					'P4786',	function (id)		return 'https://www.cinematografo.it/pls/cinematografo/consultazione.redirect?sch=' .. id end, categoryExternalLink( 'Rivista del Cinematografo' ) },
	{ getLabelWithoutLink( 'Q105584', 'Rotten Tomatoes' ),								'P1258',	function (id)		return 'http://www.rottentomatoes.com/' .. id	end,			categoryExternalLink( 'Rotten Tomatoes' ) },
	{ getLabelWithoutLink( 'Q54933170', 'Silent Era'),									'P5338',	function (id)		return 'http://www.silentera.com/PSFL/data/' .. id .. '.html' end, categoryExternalLink( 'Silent Era' ) },
	{ getLabelWithoutLink( 'Q12334769', 'Scope'),										'P2518',	function (id)		return 'https://www.scope.dk/film/' .. id end, categoryExternalLink( 'Scope' ) },
	{ getLabelWithoutLink( 'Q12334769', 'Scope'),										'P2519',	function (id)		return 'https://www.scope.dk/person/' .. id end, categoryExternalLink( 'Scope' ) },
	{ getLabelWithoutLink( 'Q2372943', 'Swiss Films'),									'P6474',	function (id)		return 'https://www.swissfilms.ch/de/film_search/filmdetails/-/id_film/' .. id end, categoryExternalLink( 'Swiss Films' ) },
	{ getLabelWithoutLink( 'Q17072251', 'The Numbers'),  	                            'P4657',	function (id)		return 'https://www.the-numbers.com/person/' .. id end, categoryExternalLink( 'The Numbers' ) },
	{ getLabelWithoutLink( 'Q20828898', 'The Movie Database' ),							'P4947',	function (id)		return 'https://www.themoviedb.org/movie/' .. id end, categoryExternalLink( 'The Movie Database' ) },
	{ getLabelWithoutLink( 'Q20828898', 'The Movie Database' ),							'P4983',	function (id)		return 'https://www.themoviedb.org/tv/' .. id end, categoryExternalLink( 'The Movie Database' ) },
	{ getLabelWithoutLink( 'Q20828898', 'The Movie Database' ),							'P4985',	function (id)		return 'https://www.themoviedb.org/person/' .. id end, categoryExternalLink( 'The Movie Database' ) },
	{ getLabelWithoutLink( 'Q749719', 'Turner Classic Movies' ),						'P2631',	function (id)		return 'http://tcmdb.com/title/title.jsp?stid=' .. id end,                      categoryExternalLink( 'TCM' ) },
	{ getLabelWithoutLink( 'Q749719', 'Turner Classic Movies' ),						'P3056',	function (id)		return 'http://tcmdb.com/participant/participant.jsp?participantId=' .. id end, categoryExternalLink( 'TCM' ) },
	{ getLabelWithoutLink( 'Q1516429', 'Unifrance' ),									'P3961',	function (id)		return 'http://www.unifrance.org/film/' .. id end, categoryExternalLink( 'Unifrance' ) },
	{ getLabelWithoutLink( 'Q1516429', 'Unifrance' ),									'P3980',	function (id)		return 'http://www.unifrance.org/annuaires/personne/' .. id end, categoryExternalLink( 'Unifrance' ) },
	{ getLabelWithoutLink( 'Q1516429', 'Unifrance' ),									'P3979',	function (id)		return 'http://www.unifrance.org/annuaires/societe/' .. id end, categoryExternalLink( 'Unifrance' ) },
	{ getLabelWithoutLink( 'Q108850097', 'Vokrug.tv' ),									'P10052',	function (id)		return 'https://web.archive.org/web/20211215182230/https://www.vokrug.tv/person/show/' .. id .. '/' end, categoryExternalLink( 'Vokrug.tv' ) },
	{ getLabelWithoutLink( 'Q7997133', 'WhoSampled' ),									'P6517',	function (id)		return 'https://www.whosampled.com/' .. id .. '/' end, categoryExternalLink( 'WhoSampled' ) },
	{ getLabelWithoutLink( 'Q260528', 'Британський інститут кінематографії' ),			'P2703',	function (id)		return 'http://collections-search.bfi.org.uk/web/Details/ChoiceFilmWorks/' .. id end, categoryExternalLink( 'Британський інститут кінематографії' ) },
	{ getLabelWithoutLink( 'Q260528', 'Британський інститут кінематографії' ),			'P4326',	function (id)		return 'https://filmography.bfi.org.uk/person/' .. id end, categoryExternalLink( 'Британський інститут кінематографії' ) },
	{ getLabelWithoutLink( 'Q260528', 'Британський інститут кінематографії' ),			'P4438',	function (id)		return 'http://www.bfi.org.uk/films-tv-people/' .. id end, categoryExternalLink( 'Британський інститут кінематографії' ) },
	{ getLabelWithoutLink( 'Q42800691', 'Дискографія американських історичних записів' ),'P4457',	function (id)		return 'https://adp.library.ucsb.edu/names/' .. id end, categoryExternalLink( 'Дискографія американських історичних записів' ) },
	{ getLabelWithoutLink( 'Q28705482', 'КіноБаза' ),									'P10166',	function (id)		return 'https://kinobaza.com.ua/persons/' .. id end, categoryExternalLink( 'КіноБаза' ) },
	{ getLabelWithoutLink( 'Q28705482', 'КіноБаза' ),									'P10167',	function (id)		return 'https://kinobaza.com.ua/titles/' .. id end, categoryExternalLink( 'КіноБаза' ) },
	{ getLabelWithoutLink( 'Q101516370', 'Кіноріум' ),									'P8847',	function (id)		return 'https://kinorium.com/' .. id end, categoryExternalLink( 'Кіноріум' ) },
	{ getLabelWithoutLink( 'Q101516370', 'Кіноріум' ),									'P8879',	function (id)		return 'https://kinorium.com/name/' .. id end, categoryExternalLink( 'Кіноріум' ) },	
	{ getLabelWithoutLink( 'Q108171416', 'Смотрім' ),									'P6739',	function (id)		return 'https://smotrim.ru/person/' .. id end, categoryExternalLink( 'Смотрім' ) },	
	{ getLabelWithoutLink( 'Q1139587', 'Шведська база даних фільмів'),					'P2168',	function (id)		return 'http://www.svenskfilmdatabas.se/sv/item/?type=person&itemid=' .. id end, categoryExternalLink( 'Шведська база даних фільмів' ) },
	{ getLabelWithoutLink( 'Q1139587', 'Шведська база даних фільмів'),					'P2334',	function (id)		return 'http://www.sfi.se/sv/svensk-filmdatabas/Item/?type=MOVIE&itemid=' .. id end, categoryExternalLink( 'Шведська база даних фільмів' ) },
	-- відеоігри
	{ getLabelWithoutLink( 'Q51880383', 'Behind The Voice Actors'),						'P5382',	function (id)		return 'http://www.behindthevoiceactors.com/franchises/' .. id end,	categoryExternalLink( 'Behind The Voice Actors' ) },
	{ getLabelWithoutLink( 'Q55934936', 'GAMECIP'),										'P5379',	function (id)		return 'https://gamemetadata.soe.ucsc.edu/platform/' .. id end,	categoryExternalLink( 'GAMECIP' ) },
	{ getLabelWithoutLink( 'Q693757', 'GameFAQs'),										'P4769',	function (id)		return 'https://gamefaqs.gamespot.com/-/' .. id .. '-' end,	categoryExternalLink( 'GameFAQs' ) },
	{ getLabelWithoutLink( 'Q693757', 'GameFAQs'),										'P6078',	function (id)		return 'https://gamefaqs.gamespot.com/' .. id end,	categoryExternalLink( 'GameFAQs' ) },
	{ getLabelWithoutLink( 'Q693757', 'GameFAQs'),										'P6472',	function (id)		return 'https://gamefaqs.gamespot.com/games/franchise/' .. id .. '-' end,	categoryExternalLink( 'GameFAQs' ) },
	{ getLabelWithoutLink( 'Q281042', 'Gamekult'),										'P7914',	function (id)		return 'https://www.gamekult.com/plateforme/--' .. id .. '.html' end,	categoryExternalLink( 'Gamekult' ) },
	{ getLabelWithoutLink( 'Q1657282', 'Giant Bomb'),									'P5247',	function (id)		return 'https://www.giantbomb.com/wd/' .. id .. '/' end,	categoryExternalLink( 'Giant Bomb' ) },
	{ getLabelWithoutLink( 'Q207708', 'IGN'),											'P5385',	function (id)		return 'https://www.ign.com/games/' .. id end,	categoryExternalLink( 'IGN' ) },
	{ getLabelWithoutLink( 'Q20056333', 'Internet Game Database'),						'P5794',	function (id)		return 'https://www.igdb.com/games/' .. id end,	categoryExternalLink( 'Internet Game Database' ) },
	{ getLabelWithoutLink( 'Q20056333', 'Internet Game Database'),						'P5795',	function (id)		return 'https://www.igdb.com/platforms/' .. id end,	categoryExternalLink( 'Internet Game Database' ) },
	{ getLabelWithoutLink( 'Q80217234', 'LaunchBox Games Databasee'),					'P7809',	function (id)		return 'https://gamesdb.launchbox-app.com/platforms/games/' .. id end,	categoryExternalLink( 'LaunchBox Games Database' ) },
	{ getLabelWithoutLink( 'Q612975', 'MobyGames'),										'P1933',	function (id)		return 'https://www.mobygames.com/game/' .. id end,	categoryExternalLink( 'MobyGames' ) },
	{ getLabelWithoutLink( 'Q612975', 'MobyGames'),										'P3913',	function (id)		return 'https://www.mobygames.com/developer/sheet/view/developerId,' .. id .. '/' end,	categoryExternalLink( 'MobyGames' ) },
	{ getLabelWithoutLink( 'Q612975', 'MobyGames'),										'P4773',	function (id)		return 'https://www.mobygames.com/company/' .. id .. '/' end,	categoryExternalLink( 'MobyGames' ) },
	{ getLabelWithoutLink( 'Q612975', 'MobyGames'),										'P5360',	function (id)		return 'https://www.mobygames.com/game-group/' .. id .. '/' end,	categoryExternalLink( 'MobyGames' ) },
	{ getLabelWithoutLink( 'Q612975', 'MobyGames'),										'P5868',	function (id)		return 'https://www.mobygames.com/browse/games/' .. id .. '/' end,	categoryExternalLink( 'MobyGames' ) },
	{ getLabelWithoutLink( 'Q61693424', 'Queerly Represent Me'),						'P6554',	function (id)		return 'https://representme.charity/projects/queer/database/title/' .. id end,	categoryExternalLink( 'Queerly Represent Me' ) },
	{ getLabelWithoutLink( 'Q78085405', 'ScreenScraper'),								'P7757',	function (id)		return 'https://www.screenscraper.fr/systemeinfos.php?plateforme=' .. id end,	categoryExternalLink( 'ScreenScraper' ) },
	{ getLabelWithoutLink( 'Q78809494', 'The Video Games Museum'),						'P7759',	function (id)		return 'https://www.video-games-museum.com/en/sys/' .. id .. '-_/0' end,	categoryExternalLink( 'The Video Games Museum' ) },
	{ getLabelWithoutLink( 'Q64214247', 'TheGamesDB'),									'P7623',	function (id)		return 'https://thegamesdb.net/platform.php?id=' .. id end,	categoryExternalLink( 'TheGamesDB' ) },
	{ getLabelWithoutLink( 'Q64447538', 'Universal Videogame List'),					'P7556',	function (id)		return 'https://www.uvlist.net/platforms/detail/' .. id end,	categoryExternalLink( 'Universal Videogame List' ) },
	{ getLabelWithoutLink( 'Q28146166', 'VGMdb'),										'P5659',	function (id)		return 'https://vgmdb.net/product/' .. id end,	categoryExternalLink( 'VGMdb' ) },
	{ getLabelWithoutLink( 'Q74864565', 'VideoGameGeek'),								'P7592',	function (id)		return 'https://videogamegeek.com/videogameplatform/' .. id end,	categoryExternalLink( 'VideoGameGeek' ) },
--	{ getLabelWithoutLink( 'Q75129027', 'БД Lutris'),									'P7617',	function (id)		return 'https://lutris.net/games/platform/' .. id end,	categoryExternalLink( 'БД Lutris' ) },
	{ getLabelWithoutLink( 'Q4197757', 'Ігроманія'),									'P9835',	function (id)		return 'https://www.igromania.ru/game/series/' .. id end,	categoryExternalLink( 'Ігроманія' ) },
	-- меми
	{ getLabelWithoutLink( 'Q2071334', 'Know Your Meme'),								'P6760',	function (id)		return 'https://knowyourmeme.com/memes/' .. id end,	categoryExternalLink( 'Know Your Meme' ) },
	-- мистецтво
	{ getLabelWithoutLink( 'Q41640909', 'Artists of the World Online' ),				'P4432',	function (id)		return 'https://www.degruyter.com/document/database/AKL/entry/_' .. id	.. '/html' end,					categoryExternalLink( 'Artists of the World Online' ) },
	{ getLabelWithoutLink( 'Q266566', 'Artnet' ),										'P3782',	function (id)		return 'http://www.artnet.com/artists/' .. id	.. '/past-auction-results' end,					categoryExternalLink( 'Artnet' ) },
	{ getLabelWithoutLink( 'Q4796642', 'Artsy' ),										'P2042',	function (id)		return 'https://www.artsy.net/artist/' .. id	end,					categoryExternalLink( 'Artsy' ) },
	{ getLabelWithoutLink( 'Q32061534', 'Athenaeum' ),									'P4145',	function (id)		return 'http://www.the-athenaeum.org/people/detail.php?id=' .. id	end,					categoryExternalLink( 'Athenaeum' ) },
	{ getLabelWithoutLink( 'Q234110', 'Europeana'),										'P7704',	function (id)		return 'https://data.europeana.eu/' .. id end,	categoryExternalLink( 'Europeana' ) },
	{ getLabelWithoutLink( 'Q5503390', 'Frick Art Reference Library'),					'P7848',	function (id)		return 'https://library.frick.org/permalink/01NYA_INST/1qqhid8/alma' .. id end,	categoryExternalLink( 'Frick Art Reference Library' ) },
	{ getLabelWithoutLink( 'Q1507284', 'George Eastman Museum'),						'P10018',	function (id)		return 'https://collections.eastman.org/people/' .. id end,	categoryExternalLink( 'George Eastman Museum' ) },
	{ getLabelWithoutLink( 'Q3362041', 'Kunstindeks Danmark' ),							'P1138',	function (id)		return 'https://www.kulturarv.dk/kid/VisKunstner.do?kunstnerId=' .. id	end,					categoryExternalLink( 'Kunstindeks Danmark' ) },
	{ getLabelWithoutLink( 'Q20056651', 'Le Delarge' ),									'P1988',	function (id)		return 'https://www.ledelarge.fr/' .. id	end,					categoryExternalLink( 'Le Delarge' ) },
	{ getLabelWithoutLink( 'Q61756871', 'Lucerna' ),									'P6583',	function (id)		return 'http://lucerna.exeter.ac.uk/person/index.php?language=EN&id=' .. id	end,					categoryExternalLink( 'Lucerna' ) },
	{ getLabelWithoutLink( 'Q22907130', 'MutualArt.com' ),								'P6578',	function (id)		return 'https://www.mutualart.com/Artist/wd/' .. id	end,					categoryExternalLink( 'MutualArt.com' ) },
	{ getLabelWithoutLink( 'Q17299517', 'RKDartists' ),									'P650',		function (id)		return 'https://rkd.nl/explore/artists/' .. id	end,					categoryExternalLink( 'RKDartists' ) },
	{ getLabelWithoutLink( 'Q47948424', 'Swedish Portrait Archive' ),					'P4819',	function (id)		return 'https://portrattarkiv.se/details/' .. id	end,		categoryExternalLink( 'Swedish Portrait Archive' ) },
	{ getLabelWithoutLink( 'Q9081343', 'Tabakalera' ),									'P10069',	function (id)		return 'https://katalogoa.tabakalera.eus/cgi-bin/koha/opac-authoritiesdetail.pl?authid=' .. id	end,		categoryExternalLink( 'Tabakalera' ) },
	{ getLabelWithoutLink( 'Q84699034', 'The Trading Card Database' ),					'P5421',	function (id)		return 'https://www.tcdb.com/Person.cfm/pid/' .. id	end,		categoryExternalLink( 'The Trading Card Database' ) },
	{ getLabelWithoutLink( 'Q107456632', 'Архів образотворчого мистецтва (Чехія)' ),	'P6844',	function (id)		return 'https://en.isabart.org/person/' .. id end, categoryExternalLink( 'Архів образотворчого мистецтва (Чехія)' ) },
	{ getLabelWithoutLink( 'Q849660', 'Бріджменська бібліотека мистецтв' ),				'P3965',	function (id)		return 'https://www.bridgemanimages.fr/fr/search?filter_text=creatorid:' .. id end, categoryExternalLink( 'Бріджменська бібліотека мистецтв' ) },	
	{ getLabelWithoutLink( 'Q870192', 'Інститут Гердера' ),								'P6482',	function (id)		return 'https://www.herder-institut.de/bildkatalog/wikidata/' .. id end, categoryExternalLink( 'Інститут Гердера' ) },	
	{ getLabelWithoutLink( 'Q270920', 'Королівська академія мистецтв' ),				'P4808',	function (id)		return 'https://www.royalacademy.org.uk/art-artists/name/' .. id end, categoryExternalLink( 'Королівська академія мистецтв' ) },	
	{ getLabelWithoutLink( 'Q1700481', 'Міннеаполіський інститут мистецтва' ),			'P3603',	function (id)		return 'https://collections.artsmia.org/people/' .. id end, categoryExternalLink( 'Міннеаполіський інститут мистецтва' ) },	
	{ getLabelWithoutLink( 'Q924335', 'Міський музей (Амстердам)' ),					'P6645',	function (id)		return 'https://www.stedelijk.nl/nl/collectie/maker/' .. id end, categoryExternalLink( 'Міський музей (Амстердам)' ) },	
	{ getLabelWithoutLink( 'Q213322', 'Музей Вікторії та Альберта' ),					'P6764',	function (id)		return 'https://collections.vam.ac.uk/name/wd/' .. id .. '/' end, categoryExternalLink( 'Музей Вікторії та Альберта' ) },	
	{ getLabelWithoutLink( 'Q510324', 'Музей мистецтв Філадельфії' ),					'P8317',	function (id)		return 'https://www.philamuseum.org/collections/results.html?searchTxt=&bSuggest=1&searchNameID=' .. id end, categoryExternalLink( 'Музей мистецтв Філадельфії' ) },	
	{ getLabelWithoutLink( 'Q915603', 'Музей Нової Зеландії Te Papa Tongarewa' ),		'P3544',	function (id)		return 'https://collections.tepapa.govt.nz/agent/' .. id end, categoryExternalLink( 'Музей Нової Зеландії Te Papa Tongarewa' ) },	
	{ getLabelWithoutLink( 'Q188740', 'Музей сучасного мистецтва (Нью-Йорк)' ),			'P2174',	function (id)		return 'https://www.moma.org/artists/' .. id end, categoryExternalLink( 'Музей сучасного мистецтва (Нью-Йорк)' ) },	
	{ getLabelWithoutLink( 'Q238587', 'Національна портретна галерея (Лондон)' ),		'P1816',	function (id)		return 'https://www.npg.org.uk/collections/search/person/' .. id end, categoryExternalLink( 'Національна портретна галерея (Лондон)' ) },	
	{ getLabelWithoutLink( 'Q842858', 'Національний музей Швеції'),						'P2538',	function (id)		return 'http://collection.nationalmuseum.se/eMuseumPlus?service=ExternalInterface&module=artist&objectId=' .. id end,	categoryExternalLink( 'Національний музей Швеції' ) },
	-- театр
	{ getLabelWithoutLink( 'Q4822836', 'AusStage' ),									'P8292',	function (id)		return 'https://www.ausstage.edu.au/pages/contributor/' .. id	end,		categoryExternalLink( 'AusStage' ) },
	{ getLabelWithoutLink( 'Q23817866', 'Gyldendals Teaterleksikon' ),					'P9466',	function (id)		return 'https://wikidata-externalid-url.toolforge.org/?p=9466&url_prefix=https://teaterleksikon.lex.dk/&id=' .. id	end,		categoryExternalLink( 'Gyldendals Teaterleksikon' ) },
	{ getLabelWithoutLink( 'Q80911465', 'Les Archives du spectacle' ),					'P1977',	function (id)		return 'https://www.lesarchivesduspectacle.net/?IDX_Personne=' .. id	end,		categoryExternalLink( 'Les Archives du spectacle' ) },
	{ getLabelWithoutLink( 'Q60559660', 'Theatreonline.com' ),							'P6403',	function (id)		return 'https://www.theatreonline.com/Artiste/wd/' .. id	end,		categoryExternalLink( 'Theatreonline.com' ) },
	{ getLabelWithoutLink( 'Q24056151', 'Theatricalia' ),								'P2469',	function (id)		return 'https://theatricalia.com/person/' .. id	end,		categoryExternalLink( 'Theatricalia' ) },
--	{ getLabelWithoutLink( 'Q1140265', 'Королівський драматичний театр' ),				'P7574',	function (id)		return 'https://www.dramaten.se/rollboken?detail=' .. mw.uri.encode(id)	.. '&type=search_type_all&search=all' end,		categoryExternalLink( 'Королівський драматичний театр' ) },
	{ getLabelWithoutLink( 'Q565382', 'Норвезький національний театр' ),				'P5964',	function (id)		return 'https://forest.nationaltheatret.no/Persons/Details/' .. id	end,		categoryExternalLink( 'Норвезький національний театр' ) },
	{ getLabelWithoutLink( 'Q50920401', 'Швейцарський архів виконавських мистецтв' ),	'P8974',	function (id)		return 'https://data.performing-arts.ch/' .. id	end,		categoryExternalLink( 'Швейцарський архів виконавських мистецтв' ) },
	-- відеоігри та відео
	{ getLabelWithoutLink( 'Q54760023', 'Media Art Database'),							'P7886',	function (id)		return 'https://mediaarts-db.bunka.go.jp/id/' .. id end,	categoryExternalLink( 'Media Art Database' ) },
}



--- група 5
local geneProperties = {
	{ getLabelWithoutLink( 'Q829984', 'Математичний генеалогічний проєкт' ),			'P549',		function (id)		return 'http://www.genealogy.ams.org/id.php?id=' .. id	end,				categoryExternalLink( 'Математичний генеалогічний проєкт' ) },
	{ getLabelWithoutLink( 'Q94509406', 'FamilySearch Family Tree' ),					'P2889',	function (id)		return 'https://www.familysearch.org/tree/person/details/' .. id	end,			categoryExternalLink( 'FamilySearch Family Tree' ) },
	{ getLabelWithoutLink( 'Q100324112', 'Fichier des personnes décédées mirror' ),		'P9058',	function (id)		return 'https://deces.matchid.io/id/' .. id	end,			categoryExternalLink( 'Fichier des personnes décédées mirror' ) },
	{ getLabelWithoutLink( 'Q63056', 'Find a Grave' ),									'P535',		function (id)		return 'http://www.findagrave.com/cgi-bin/fg.cgi?page=gr&GRid=' .. id	end,		categoryExternalLink( 'Find a Grave' ) },
	{ getLabelWithoutLink( 'Q63056', 'Find a Grave' ),									'P2025',	function (id)		return 'http://www.findagrave.com/cgi-bin/fg.cgi?page=cr&CRid=' .. id end,			categoryExternalLink( 'Find a Grave' ) },
	{ getLabelWithoutLink( 'Q19847326', 'Genealogics.org' ),							'P1819',	function (id)		return 'https://www.genealogics.org/getperson.php?personID=' .. id .. '&tree=LEO'	end,			categoryExternalLink( 'Genealogics.org' ) },
	{ getLabelWithoutLink( 'Q98769076', 'GeneaStar' ),									'P8094',	function (id)		return 'https://www.geneastar.org/genealogie/?refcelebrite=' .. id .. '&tree=LEO'	end,			categoryExternalLink( 'GeneaStar' ) },
	{ getLabelWithoutLink( 'Q2621214', 'Geni.com' ),									'P2600',	function (id)		return 'https://www.geni.com/profile/index/' .. id	end,			categoryExternalLink( 'Geni.com' ) },
	{ getLabelWithoutLink( 'Q12314236', 'Gravsted.dk' ),								'P4359',	function (id)		return 'https://www.gravsted.dk/person.php?navn=' .. id	end,			categoryExternalLink( 'Gravsted.dk' ) },
	{ getLabelWithoutLink( 'Q28736343', 'Gravstensinventeringen' ),						'P5259',	function (id)		return 'https://grav.genealogi.se/Gravsokview.php?g_id=' .. id	end,			categoryExternalLink( 'Gravstensinventeringen' ) },
	{ getLabelWithoutLink( 'Q42307904', 'JewAge.org' ),									'P4116',	function (id)		return 'http://www.jewage.org/wiki/ru/Profile:' .. id	end,			categoryExternalLink( 'JewAge.org' ) },
	{ getLabelWithoutLink( 'Q75653886', 'Kindred Britain' ),							'P3051',	function (id)		return 'https://kindred.stanford.edu/#/kin/full/none/none/' .. id	.. '//'	end,			categoryExternalLink( 'Kindred Britain' ) },
	{ getLabelWithoutLink( 'Q649227', 'Rodovid.org' ),									'P1185',	function (id)		return 'http://uk.rodovid.org/wk/Person:' .. id	end,			categoryExternalLink( 'Rodovid.org' ) },
	{ getLabelWithoutLink( 'Q83365652', 'Roglo' ),										'P7929',	function (id)		return 'https://wikidata-externalid-url.toolforge.org/?p=7929&url_prefix=http://roglo.eu/roglo?&id=' .. id	end,			categoryExternalLink( 'Roglo' ) },
	{ getLabelWithoutLink( 'Q93482363', 'Sejm-Wielki.pl' ),								'P8172',	function (id)		return 'https://www.sejm-wielki.pl/b/' .. id	end,			categoryExternalLink( 'Sejm-Wielki.pl' ) },
	{ getLabelWithoutLink( 'Q21585670', 'The Academic Family Tree' ),					'P2381',	function (id)		return 'https://academictree.org/math/peopleinfo.php?pid=' .. id	end,			categoryExternalLink( 'The Academic Family Tree' ) },
	{ getLabelWithoutLink( 'Q21401824', 'The Peerage' ),								'P4638',	function (id)		return 'https://wikidata-externalid-url.toolforge.org/?p=4638&url_prefix=https://www.thepeerage.com/&id=' .. id	end,			categoryExternalLink( 'The Peerage' ) },
	{ getLabelWithoutLink( 'Q7983244', 'WeRelate' ),									'P4159',	function (id)		return 'https://www.werelate.org/wiki/Person:' .. id	end,				categoryExternalLink( 'WeRelate' ) },
	{ getLabelWithoutLink( 'Q1074931', 'WikiTree' ),									'P2949',	function (id)		return 'https://www.wikitree.com/wiki/' .. id	end,			categoryExternalLink( 'WikiTree' ) },
}



--- група 6
local geoProperties = {
	{ getLabelWithoutLink( 'Q4051711', 'Міський електротранспорт' ),					'P10321',	function (id)		return 'https://transphoto.org/city/' .. id end,	categoryExternalLink( 'Міський електротранспорт' ) },
	{ getLabelWithoutLink( 'Q28134257', 'Atlas Obscura' ),								'P7772',	function (id)		return 'https://www.atlasobscura.com/places/' .. id end,	categoryExternalLink( 'Atlas Obscura' ) },
	{ getLabelWithoutLink( 'Q265049', 'archINFORM' ),									'P5573',	function (id)		return 'https://www.archinform.net/ort/' .. id .. '.htm'	end,	categoryExternalLink( 'archINFORM' ) },
	{ getLabelWithoutLink( 'Q1520117', 'Getty Thesaurus of Geographic Names' ),			'P1667',	function (id)		return 'https://www.getty.edu/vow/TGNFullDisplay?find=&place=&nation=&english=Y&subjectid=' .. id end,	categoryExternalLink( 'Getty Thesaurus of Geographic Names' ) },
	{ getLabelWithoutLink( 'Q830106', 'GeoNames' ),										'P1566',	function (id)		return 'https://www.geonames.org/' .. id end,	categoryExternalLink( 'GeoNames' ) },
	{ getLabelWithoutLink( 'Q16958215', 'INaturalist' ),								'P7471',	function (id)		return 'https://www.inaturalist.org/places/' .. id end,	categoryExternalLink( 'INaturalist' ) },
	{ getLabelWithoutLink( 'Q936', 'OpenStreetMap' ),									'P402',		function (id)		return 'https://www.openstreetmap.org/relation/' .. id end,	categoryExternalLink( 'OpenStreetMap' ) },
	{ getLabelWithoutLink( 'Q499348', 'UN/LOCODE' ),									'P1937',	function (id)		return 'https://locode.info/' .. id end,	categoryExternalLink( 'UN/LOCODE' ) },
	{ getLabelWithoutLink( 'Q57967241', 'Whos on First' ),								'P6766',	function (id)		return 'https://spelunker.whosonfirst.org/id/' .. id .. '/' end,	categoryExternalLink( 'Whos on First' ) },
	{ getLabelWithoutLink( 'Q23956316', 'WOEID' ),										'P1281',	function (id)		return 'https://www.flickr.com/places/info/' .. id end,	categoryExternalLink( 'WOEID' ) },
}



--- група 7
local labelISFDb = getLabelWithoutLink( 'Q2629164', 'Internet Speculative Fiction Database' );

local textsProperties = {
	{ getLabelWithoutLink( 'Q83466', 'Aozora Bunko'),									'P7311',	function (id)		return 'https://www.aozora.gr.jp/index_pages/person' .. id .. '.html'	end,	categoryExternalLink( 'Aozora Bunko' ) },
	{ getLabelWithoutLink( 'Q3621644', 'Archivio Storico Ricordi'),						'P8290',	function (id)		return 'https://www.digitalarchivioricordi.com/it/people/display/' .. id end,	categoryExternalLink( 'Archivio Storico Ricordi' ) },
	{ getLabelWithoutLink( 'Q18228305', 'At the Circulating Library'),					'P1564',	function (id)		return 'http://www.victorianresearch.org/atcl/show_author.php?aid=' .. id end,	categoryExternalLink( 'At the Circulating Library' ) },
	{ getLabelWithoutLink( 'Q2877812', 'Babelio'),										'P3630',	function (id)		return 'https://www.babelio.com/auteur/wd/' .. id end,	categoryExternalLink( 'Babelio' ) },
	{ getLabelWithoutLink( 'Q2876969', 'BD Gest'),										'P5491',	function (id)		return 'https://www.bedetheque.com/auteur-' .. id .. '-BD-.html'	end,	categoryExternalLink( 'BD Gest' ) },
	{ getLabelWithoutLink( 'Q22697075', 'BiblioNet'),									'P2188',	function (id)		return 'https://biblionet.gr/προσωπο/?personid=' .. id end,	categoryExternalLink( 'BiblioNet' ) },
	{ getLabelWithoutLink( 'Q56066030', 'Bibliopoche'),									'P5695',	function (id)		return 'https://www.bibliopoche.com/ecrivain/wd/' .. id .. '.html'	end,	categoryExternalLink( 'Bibliopoche' ) },
	{ getLabelWithoutLink( 'Q867925', 'Bibliothèque interuniversitaire de Santé'),		'P5375',	function (id)		return 'https://www.biusante.parisdescartes.fr/histoire/biographies/index.php?cle=' .. id end,	categoryExternalLink( 'Bibliothèque interuniversitaire de Santé' ) },
	{ getLabelWithoutLink( 'Q172266', 'Biodiversity Heritage Library'),					'P4081',	function (id)		return 'https://www.biodiversitylibrary.org/creator/' .. id end,	categoryExternalLink( 'Biodiversity Heritage Library' ) },
	{ getLabelWithoutLink( 'Q81525085', 'CoBiS'),										'P7865',	function (id)		return 'https://dati.cobis.to.it/agent/' .. id end,	categoryExternalLink( 'CoBiS' ) },
	{ getLabelWithoutLink( 'Q1224715', 'Digital Bibliography & Library Project'),		'P2456',	function (id)		return 'https://dblp.org/pid/' .. id end,	categoryExternalLink( 'Digital Latin Library' ) },
	{ getLabelWithoutLink( 'Q89982699', 'Digital Latin Library'),						'P8122',	function (id)		return 'https://catalog.digitallatin.org/dll-author/' .. id end,	categoryExternalLink( 'Digital Latin Library' ) },
	{ getLabelWithoutLink( 'Q42889870', 'Digital Mechanism and Gear Library'),			'P10252',	function (id)		return 'https://www.dmg-lib.org/dmglib/handler?biogr=' .. id end,	categoryExternalLink( 'Digital Mechanism and Gear Library' ) },
	{ getLabelWithoutLink( 'Q2451336', 'Digitale Bibliotheek voor de Nederlandse Letteren'),'P723',		function (id)		return 'http://www.dbnl.org/auteurs/auteur.php?id=' .. id end,	categoryExternalLink( 'Digitale Bibliotheek voor de Nederlandse Letteren' ) },
	{ getLabelWithoutLink( 'Q26972306', 'Flanders Arts Institute'),						'P5068',	function (id)		return 'https://data.kunsten.be/people/' .. id end,	categoryExternalLink( 'Flanders Arts Institute' ) },
	{ getLabelWithoutLink( 'Q2359213', 'Goodreads'),									'P2963',	function (id)		return 'https://www.goodreads.com/author/show/' .. id end,	categoryExternalLink( 'Goodreads' ) },
	{ getLabelWithoutLink( 'Q2359213', 'Goodreads'),									'P2969',	function (id)		return 'https://www.goodreads.com/book/show/' .. id end,	categoryExternalLink( 'Goodreads' ) },
	{ getLabelWithoutLink( 'Q2359213', 'Goodreads'),									'P6327',	function (id)		return 'https://www.goodreads.com/characters/' .. id end,	categoryExternalLink( 'Goodreads' ) },
	{ getLabelWithoutLink( 'Q2359213', 'Goodreads'),									'P6947',	function (id)		return 'https://www.goodreads.com/series/' .. id end,	categoryExternalLink( 'Goodreads' ) },
	{ getLabelWithoutLink( 'Q16253003', 'Hoopla'),										'P6868',	function (id)		return 'https://www.hoopladigital.com/artist/' .. id end,	categoryExternalLink( 'Hoopla' ) },
	{ getLabelWithoutLink( 'Q1661161', 'Index Theologicus' ),							'P9784',	function (id)		return 'https://ixtheo.de/Record/' .. id end,	categoryExternalLink( 'Index Theologicus' ) },
	{ getLabelWithoutLink( 'Q1661161', 'Index Theologicus' ),							'P10553',	function (id)		return 'https://ixtheo.de/Authority/' .. id end,	categoryExternalLink( 'Index Theologicus' ) },
	{ labelISFDb,																		'P1233',	function (id)		return 'http://www.isfdb.org/cgi-bin/ea.cgi?' .. id	end,				categoryExternalLink( 'ISFDb' ) },
	{ labelISFDb,																		'P1234',	function (id)		return 'http://www.isfdb.org/cgi-bin/pl.cgi?' .. id	end,			categoryExternalLink( 'ISFDb' ) },
	{ labelISFDb,																		'P1235',	function (id)		return 'http://www.isfdb.org/cgi-bin/pe.cgi?' .. id	end,				categoryExternalLink( 'ISFDb' ) },
	{ labelISFDb,																		'P1239',	function (id)		return 'http://www.isfdb.org/cgi-bin/publisher.cgi?' .. id	end,				categoryExternalLink( 'ISFDb' ) },
	{ labelISFDb,																		'P1274',	function (id)		return 'http://www.isfdb.org/cgi-bin/title.cgi?' .. id	end,			    	categoryExternalLink( 'ISFDb' ) },
	{ getLabelWithoutLink( 'Q3391953', 'Isidore' ),										'P4491',	function (id)		return 'https://isidore.science/a/' .. id	end,			categoryExternalLink( 'Isidore' ) },
	{ getLabelWithoutLink( 'Q104417632', 'Journaux dAlexandre Dumas' ),					'P8993',	function (id)		return 'http://alexandredumas.org/Corpus/Auteurs?ID=' .. id	end,			categoryExternalLink( 'Journaux dAlexandre Dumas' ) },
	{ getLabelWithoutLink( 'Q742640', 'LibraryThing' ),									'P7400',	function (id)		return 'https://www.librarything.com/author/' .. id	end,			categoryExternalLink( 'LibraryThing' ) },
	{ getLabelWithoutLink( 'Q1070969', 'LibriVox' ),									'P1899',	function (id)		return 'https://librivox.org/author/' .. id	end,			categoryExternalLink( 'LibriVox' ) },
	{ getLabelWithoutLink( 'Q25935022', 'Lord Byron and his Times' ),					'P2977',	function (id)		return 'http://www.lordbyron.org/persRec.php?&selectPerson=' .. id	end,			categoryExternalLink( 'Lord Byron and his Times' ) },
	{ getLabelWithoutLink( 'Q3343389', 'NooSFere' ),									'P5570',	function (id)		return 'https://www.noosfere.org/livres/auteur.asp?numauteur=' .. id	end,			categoryExternalLink( 'NooSFere' ) },
	-- не спрацьовує
	{ getLabelWithoutLink( 'Q7093997', 'Online Books Page' ),							'P4629',	function (id)		return 'https://onlinebooks.library.upenn.edu/webbin/book/lookupname?key=' .. mw.uri.encode(id)	end,			categoryExternalLink( 'Online Books Page' ) },
	{ getLabelWithoutLink( 'Q1201876', 'Open Library (праці)' ),						'P648',		function (id)		return 'https://openlibrary.org/works/' .. id	end,			categoryExternalLink( 'Open Library' ) },
	{ getLabelWithoutLink( 'Q1201876', 'Open Library' ),								'P3847',	function (id)		return 'https://openlibrary.org/subjects/' .. id	end,			categoryExternalLink( 'Open Library' ) },
	{ getLabelWithoutLink( 'Q111354125', 'openMLOL.it' ),								'P3762',	function (id)		return 'https://openmlol.it/autore/' .. id	end,			categoryExternalLink( 'openMLOL.it' ) },
	{ getLabelWithoutLink( 'Q105005338', 'Patrinum' ),									'P9113',	function (id)		return 'https://www.patrinum.ch/record/' .. id	end,			categoryExternalLink( 'Patrinum' ) },
	{ getLabelWithoutLink( 'Q2071388', 'Perlentaucher' ),								'P866',		function (id)		return 'https://www.perlentaucher.de/autor/' .. id	.. '.html'	end,			categoryExternalLink( 'Perlentaucher' ) },
	{ getLabelWithoutLink( 'Q7207490', 'Poetry Foundation' ),							'P5341',	function (id)		return 'https://www.poetryfoundation.org/poets/' .. id	end,			categoryExternalLink( 'Poetry Foundation' ) },
	{ getLabelWithoutLink( 'Q55809526', 'PRELIB' ),										'P5641',	function (id)		return 'http://mshb.huma-num.fr/prelib/personne/' .. id	.. '/'	end,			categoryExternalLink( 'PRELIB' ) },
	{ getLabelWithoutLink( 'Q90720978', 'Provenio' ),									'P9223',	function (id)		return 'https://provenio.net/records/' .. id	end,			categoryExternalLink( 'Provenio' ) },
	{ getLabelWithoutLink( 'Q24256518', 'Rekhta.org' ),									'P9459',	function (id)		return 'https://www.rekhta.org/authors/' .. id	end,			categoryExternalLink( 'Rekhta.org' ) },
	{ getLabelWithoutLink( 'Q17299580', 'RKDimages' ),									'P350',		function (id)		return 'https://rkd.nl/nl/explore/images/' .. id end,	categoryExternalLink( 'RKDimages' ) },
	{ getLabelWithoutLink( 'Q7380179', 'Rupa & Co.' ),									'P6984',	function (id)		return 'http://rupapublications.co.in/authors/' .. id .. '/'	end,	categoryExternalLink( 'Rupa & Co.' ) },
	{ getLabelWithoutLink( 'Q17298559', 'Sandrart.net' ),								'P1422',	function (id)		return 'http://ta.sandrart.net/-person-' .. id end,	categoryExternalLink( 'Sandrart.net' ) },
	{ getLabelWithoutLink( 'Q16169166', 'The LiederNet Archive' ),						'P8234',	function (id)		return 'https://www.lieder.net/lieder/get_author_texts.html?AuthorId=' .. id end,	categoryExternalLink( 'The LiederNet Archive' ) },
	{ getLabelWithoutLink( 'Q1426223', 'The New York Review of Books' ),				'P5419',	function (id)		return 'https://www.nybooks.com/contributors/' .. id .. '/'	end,	categoryExternalLink( 'The New York Review of Books' ) },
	{ getLabelWithoutLink( 'Q105344011', 'The Unz Review' ),							'P2734',	function (id)		return 'https://www.unz.com/print/author/' .. id end,	categoryExternalLink( 'The Unz Review' ) },
	{ getLabelWithoutLink( 'Q87068904', 'ToposText' ),									'P8069',	function (id)		return 'https://topostext.org/people/' .. id end,	categoryExternalLink( 'ToposText' ) },
	{ getLabelWithoutLink( 'Q22811588', 'WomenWriters' ),								'P2533',	function (id)		return 'http://resources.huygens.knaw.nl/womenwriters/vre/persons/' .. id end,	categoryExternalLink( 'WomenWriters' ) },
	{ getLabelWithoutLink( 'Q107132725', 'www.adelphi.it' ),							'P5859',	function (id)		return 'https://www.adelphi.it/catalogo/autore/' .. id end,	categoryExternalLink( 'www.adelphi.it' ) },
	{ getLabelWithoutLink( 'Q36948990', 'Архів преси 20 століття (нім.)' ),				'P4293',	function (id)		return 'http://purl.org/pressemappe20/folder/' .. id end,	categoryExternalLink( 'Архів преси 20 століття (нім.)' ) },
	{ getLabelWithoutLink( 'Q63411600', 'Бібліографія історії чеських земель' ),		'P9037',	function (id)		return 'https://biblio.hiu.cas.cz/records/' .. id end,	categoryExternalLink( 'Бібліографія історії чеських земель' ) },
	{ getLabelWithoutLink( 'Q61604271', 'Бібліотека Александера Тернбулла' ),			'P6683',	function (id)		return 'https://tiaki.natlib.govt.nz/#details=ethesaurus.' .. id end,	categoryExternalLink( 'Бібліотека Александера Тернбулла' ) },
	{ getLabelWithoutLink( 'Q4903493', 'Віртуальна бібліотека імені Мігеля де Сервантеса' ),'P2799',	function (id)		return 'https://data.cervantesvirtual.com/person/' .. id end,	categoryExternalLink( 'Віртуальна бібліотека імені Мігеля де Сервантеса' ) },
	{ getLabelWithoutLink( 'Q17195344', 'Журнал «Самиздат»'),							'Q17195344',	samlibRuLink,		categoryExternalLink( 'Самиздат' ) },
	{ getLabelWithoutLink( 'Q17254543', 'Изба-читальня'),								'Q17254543',	function (id)		return 'http://www.chitalnya.ru/users/' .. id .. '/'	end,	categoryExternalLink( 'Изба-читальня' ) },
	{ getLabelWithoutLink( 'Q23023088', 'Каталог фантастичної літератури Вежетті'),		'P2191',	function (id)		return 'https://www.fantascienza.com/catalogo/autori/NILF' .. id end,	categoryExternalLink( 'Каталог фантастичної літератури Вежетті' ) },
	{ getLabelWithoutLink( 'Q1169438', 'Лабораторія Фантастики'),						'P7433',	function (id)		return 'https://fantlab.ru/autor' .. id end,	categoryExternalLink( 'Лабораторія Фантастики' ) },
	{ getLabelWithoutLink( 'Q1169438', 'Лабораторія Фантастики'),						'P7437',	function (id)		return 'https://fantlab.ru/award' .. id end,	categoryExternalLink( 'Лабораторія Фантастики' ) },
	{ getLabelWithoutLink( 'Q1169438', 'Лабораторія Фантастики'),						'P7438',	function (id)		return 'https://fantlab.ru/publisher' .. id end,	categoryExternalLink( 'Лабораторія Фантастики' ) },
	{ getLabelWithoutLink( 'Q1169438', 'Лабораторія Фантастики'),						'P7439',	function (id)		return 'https://fantlab.ru/work' .. id end,	categoryExternalLink( 'Лабораторія Фантастики' ) },
	{ getLabelWithoutLink( 'Q4376778', 'Президентська бібліотека імені Б. М. Єльцина'),	'P10375',	function (id)		return 'https://www.prlib.ru/search?f%5B0%5D=field_book_author%3A' .. id end,	categoryExternalLink( 'Президентська бібліотека імені Б. М. Єльцина' ) },
	{ getLabelWithoutLink( 'Q7220504', 'Проєкт Бен-Єгуда' ),							'P7507',	function (id)		return 'https://benyehuda.org/author/' .. id end,	categoryExternalLink( 'Проєкт Бен-Єгуда' ) },
	{ getLabelWithoutLink( 'Q22673', 'Проєкт Гутенберг' ),								'P1938',	function (id)		return 'http://www.gutenberg.org/ebooks/author/' .. id end,	categoryExternalLink( 'Проєкт Гутенберг' ) },
	{ getLabelWithoutLink( 'Q459615', 'Проєкт Гутенберг (нім.)' ),						'P7753',	function (id)		return 'https://www.projekt-gutenberg.org/autoren/namen/' .. id .. '.html'	end,	categoryExternalLink( 'Проєкт Гутенберг (нім.)' ) },
	{ getLabelWithoutLink( 'Q933290', 'Проєкт Рунеберг' ),								'P3154',	function (id)		return 'http://runeberg.org/authors/' .. id .. '.html'	end,	categoryExternalLink( 'Проєкт Рунеберг' ) },
	{ getLabelWithoutLink( 'Q4380129', 'Проза.ру'),										'Q4380129',		function (id)		return 'http://proza.ru/avtor/' .. id end,		categoryExternalLink( 'Проза.ру' ) },
	{ getLabelWithoutLink( 'Q4442644', 'Стихи.ру'),										'Q4442644',		function (id)		return 'http://stihi.ru/avtor/' .. id end,		categoryExternalLink( 'Стихи.ру' ) },
	{ getLabelWithoutLink( 'Q17300505', 'Lib.Ru/Фантастика'),							'Q17300505',	fanLibRuLink,		categoryExternalLink( 'Lib.Ru/Фантастика' ) },
	{ getLabelWithoutLink( 'Q11975066', 'Твори Генріка Ібсена'),						'P8518',		function (id)		return 'https://www.ibsen.uio.no/' .. id .. '.xhtml'	end,		categoryExternalLink( 'Твори Генріка Ібсена' ) },
	{ getLabelWithoutLink( 'Q10567910', 'Шведський літературний банк'),					'P5101',	function (id)		return 'https://litteraturbanken.se/författare/' .. id end,		categoryExternalLink( 'Шведський літературний банк' ) },
}



--- група 8
local scienceProperties = {
	{ getLabelWithoutLink( 'Q20730803', 'Catalogus Professorum Academiae Groninganae' ),'P2016',	function (id)		return 'https://hoogleraren.ub.rug.nl/hoogleraren/' .. id end,		categoryExternalLink( 'Catalogus Professorum Academiae Groninganae' ) },
	{ getLabelWithoutLink( 'Q2985434', 'Comité des travaux historiques et scientifiques' ),'P2383',	function (id)		return 'https://cths.fr/an/savant.php?id=' .. id end,		categoryExternalLink( 'Comité des travaux historiques et scientifiques' ) },
	{ getLabelWithoutLink( 'Q95044734', 'Dimensions' ),									'P6178',	function (id)		return 'https://app.dimensions.ai/details/entities/publication/author/ur.' .. id end,		categoryExternalLink( 'Dimensions' ) },
	{ getLabelWithoutLink( 'Q305913', 'eMedicine' ),									'P673',		function (id)		return 'http://emedicine.medscape.com/article/' .. id .. '-overview'	end,		categoryExternalLink( 'eMedicine' ) },
	{ getLabelWithoutLink( 'Q47517289', 'GARD' ),										'P4317',	function (id)		return 'https://rarediseases.info.nih.gov/diseases/' .. id .. '/index'	end,		categoryExternalLink( 'GARD') },
	{ getLabelWithoutLink( 'Q3048291', 'GeneReviews' ),									'P668',		function (id)		return 'https://www.ncbi.nlm.nih.gov/books/' .. id	end,							categoryExternalLink( 'GeneReviews' ) },
	{ getLabelWithoutLink( 'Q494817', 'Google Scholar' ),								'P1960',	function (id)		return 'https://scholar.google.com.ua/citations?user=' .. id	end,							categoryExternalLink( 'Google Scholar' ) },
	{ getLabelWithoutLink( 'Q211172', 'Mathematical Reviews' ),							'P4955',	function (id)		return 'https://mathscinet.ams.org/mathscinet/MRAuthorID/' .. id	end,				categoryExternalLink( 'Mathematical Reviews' ) },
	{ getLabelWithoutLink( 'Q557919', 'MedlinePlus' ),									'P604',		function (id)		return 'https://medlineplus.gov/ency/article/' .. id .. '.htm'	end,				categoryExternalLink( 'MedlinePlus' ) },
	{ getLabelWithoutLink( 'Q97032597', 'Nauka Polska' ),								'P3124',	function (id)		return 'http://nauka-polska.pl/#/profile/scientist?id=' .. id end,				categoryExternalLink( 'Nauka Polska' ) },
	{ getLabelWithoutLink( 'Q6954693', 'nLab' ),										'P4215',	function (id)		return 'https://ncatlab.org/nlab/show/' .. mw.uri.encode(id) end,				categoryExternalLink( 'nLab' ) },
	{ getLabelWithoutLink( 'Q23684016', 'Nobel Laureate API' ),							'P8024',	function (id)		return 'https://www.nobelprize.org/laureate/' .. id end,							categoryExternalLink( 'Nobel Laureate API' ) },
	{ getLabelWithoutLink( 'Q51044', 'ORCID' ),											'P496',		orcidLink,						categoryExternalLink( 'ORCID' ) },
	{ getLabelWithoutLink( 'Q1515833', 'Orphanet' ),									'P1550',	function (id)		return 'http://www.orpha.net/consor/cgi-bin/OC_Exp.php?lng=EN&Expert=' .. id	end,	categoryExternalLink( 'Orphanet' ) },
	{ getLabelWithoutLink( 'Q28736250', 'peakbagger.com' ),								'P3109',	function (id)		return 'https://www.peakbagger.com/peak.aspx?pid=' .. id	end,	categoryExternalLink( 'peakbagger.com' ) },
	{ getLabelWithoutLink( 'Q7315186', 'ResearcherID' ),								'P1053',	function (id)		return 'http://www.researcherid.com/rid/' .. id	end,	categoryExternalLink( 'ResearcherID' ) },
	{ getLabelWithoutLink( 'Q371467', 'Scopus' ),										'P1153',	function (id)		return 'http://www.scopus.com/authid/detail.url?authorId=' .. id	end,	categoryExternalLink( 'Scopus' ) },
	{ getLabelWithoutLink( 'Q6023365', 'the Internet Philosophy Ontology Project' ),	'P863',		function (id)		return 'https://www.inphoproject.org/' .. id	end,	categoryExternalLink( 'the Internet Philosophy Ontology Project' ) },
	{ getLabelWithoutLink( 'Q18241050', 'zbMATH' ),										'P1556',	function (id)		return 'https://www.zbmath.org/authors/?q=ai:' .. id end,							categoryExternalLink( 'zbMATH' ) },
	{ getLabelWithoutLink( 'Q55153845', 'ZOBODAT' ),									'P8914',	function (id)		return 'https://www.zobodat.at/personen.php?id=' .. id end,							categoryExternalLink( 'ZOBODAT' ) },
	{ getLabelWithoutLink( 'Q547473', 'Архів історії математики Мактьютор' ),			'P1563',	function (id)		return 'https://mathshistory.st-andrews.ac.uk/Biographies/' .. id	end,	categoryExternalLink( 'Архів історії математики Мактьютор' ) },
	{ getLabelWithoutLink( 'Q4201535', 'Інститут історії України НАН України' ),		'P10140',	function (id)		return 'http://resource.history.org.ua/person/' .. id	end,	categoryExternalLink( 'Інститут історії України НАН України' ) },
	{ getLabelWithoutLink( 'Q105084724', 'Італійська математика' ),						'P9114',	function (id)		return 'http://mathematica.sns.it/autori/' .. id .. '/' end,	categoryExternalLink( 'Італійська математика' ) },
	{ getLabelWithoutLink( 'Q65212904', 'Наука України' ),								'P7148',	function (id)		return 'http://irbis-nbuv.gov.ua/ASUA/' .. id	end,	categoryExternalLink( 'Наука України' ) },
	{ getLabelWithoutLink( 'Q270794', 'Національна академія наук США' ),				'P5380',	function (id)		return 'http://www.nasonline.org/member-directory/members/' .. id	.. '.html'	end,	categoryExternalLink( 'Національна академія наук США' ) },
	{ getLabelWithoutLink( 'Q2822396', 'Туринська академія наук' ),						'P8153',	function (id)		return 'https://www.accademiadellescienze.it/accademia/soci/' .. id	end,	categoryExternalLink( 'Туринська академія наук' ) },
}



--- група 9
local sportProperties = {
	{ getLabelWithoutLink( 'Q2818677', '90minut.pl'),									'P3605',	function (id)		return 'http://www.90minut.pl/kariera.php?id=' .. id end,	categoryExternalLink( '90minut.pl' ) },
	{ getLabelWithoutLink( 'Q108934953', 'allplayers.in.ua'),							'P10109',	function (id)		return 'http://www.allplayers.in.ua/ua/player/' .. id .. '/' end,	categoryExternalLink( 'allplayers.in.ua' ) },
	{ getLabelWithoutLink( 'Q719880', 'AS.com'),										'P3427',	function (id)		return 'https://resultados.as.com/resultados/ficha/deportista/' .. id end,	categoryExternalLink( 'AS.com' ) },
	{ getLabelWithoutLink( 'Q19368470', 'BDFA'),										'P6188',	function (id)		return 'https://bdfa.com.ar/jugadores-' .. id .. '.html' end,	categoryExternalLink( 'BDFA' ) },
	{ getLabelWithoutLink( 'Q5715639', 'BDFutbol'),										'P3655',	function (id)		return 'https://www.bdfutbol.com/en/j/j' .. id .. '.html' end,	categoryExternalLink( 'BDFutbol' ) },
	{ getLabelWithoutLink( 'Q5715639', 'BDFutbol'),										'P7488',	function (id)		return 'https://www.bdfutbol.com/en/e/e' .. id .. '.html' end,	categoryExternalLink( 'BDFutbol' ) },
	{ getLabelWithoutLink( 'Q895505', 'BoxRec'),										'P1967',	function (id)		return 'https://boxrec.com/en/boxer/' .. id .. '.html' end,	categoryExternalLink( 'BoxRec' ) },
	{ getLabelWithoutLink( 'Q69368294', 'Dynamomania.com'),								'P7395',	function (id)		return 'http://dynamomania.com/player/' .. id .. '-a' end,	categoryExternalLink( 'Dynamomania.com' ) },
	{ getLabelWithoutLink( 'Q3046181', 'ESPN FC)'),										'P3681',	function (id)		return 'https://global.espn.com/football/player/_/id/' .. id end,	categoryExternalLink( 'ESPN FC' ) },
	{ getLabelWithoutLink( 'Q19428050', 'eu-football.info (гравець)'),					'P3726',	function (id)		return 'https://eu-football.info/_player.php?id=' .. id end,	categoryExternalLink( 'eu-football.info' ) },
	{ getLabelWithoutLink( 'Q19428050', 'eu-football.info'),							'P7435',	function (id)		return 'https://eu-football.info/_referee.php?id=' .. id end,	categoryExternalLink( 'eu-football.info' ) },
	{ getLabelWithoutLink( 'Q19428050', 'eu-football.info (тренер)'),					'P7463',	function (id)		return 'https://eu-football.info/_manager.php?id=' .. id end,	categoryExternalLink( 'eu-football.info' ) },
	{ getLabelWithoutLink( 'Q19428050', 'eu-football.info'),							'P7492',	function (id)		return 'https://eu-football.info/_match.php?id=' .. id end,	categoryExternalLink( 'eu-football.info' ) },
	{ getLabelWithoutLink( 'Q19428050', 'eu-football.info'),							'P7854',	function (id)		return 'https://eu-football.info/_club.php?id=' .. id end,	categoryExternalLink( 'eu-football.info' ) },
	{ getLabelWithoutLink( 'Q19428050', 'eu-football.info'),							'P8320',	function (id)		return 'https://eu-football.info/_venue.php?id=' .. id end,	categoryExternalLink( 'eu-football.info' ) },
	{ getLabelWithoutLink( 'Q108208521', 'Eurohockey.com'),								'P2601',	function (id)		return 'https://www.eurohockey.com/player/' .. id .. '-.html' end,	categoryExternalLink( 'Eurohockey.com' ) },
	{ getLabelWithoutLink( 'Q56239490', 'FBref.com'),									'P5750',	function (id)		return 'https://fbref.com/en/players/' .. id .. '/' end,	categoryExternalLink( 'FBref.com' ) },
	{ getLabelWithoutLink( 'Q106711852', 'FIG'),										'P7440',	function (id)		return 'https://www.gymnastics.sport/site/athletes/bio_detail.php?id=' .. id end,	categoryExternalLink( 'FIG' ) },
	{ getLabelWithoutLink( 'Q379079', 'FIG'),											'P2696',	function (id)		return 'https://www.gymnastics.sport/site/athletes/bio_detail.php?id=' .. id .. '&type=licence' end,	categoryExternalLink( 'FIG' ) },
	{ getLabelWithoutLink( 'Q17589204', 'FootballDatabase.eu'),							'P3537',	function (id)		return 'https://www.footballdatabase.eu/en/player/details/' .. id end,	categoryExternalLink( 'FootballDatabase.eu' ) },
	{ getLabelWithoutLink( 'Q17589204', 'FootballDatabase.eu'),							'P7351',	function (id)		return 'https://www.footballdatabase.eu/en/club/team/' .. id end,	categoryExternalLink( 'FootballDatabase.eu' ) },
	{ getLabelWithoutLink( 'Q42428763', 'FootballFacts.ru'),							'P3660',	function (id)		return 'https://footballfacts.ru/person/' .. id end,	categoryExternalLink( 'FootballFacts.ru' ) },
	{ getLabelWithoutLink( 'Q42428763', 'FootballFacts.ru'),							'P7358',	function (id)		return 'https://footballfacts.ru/club/' .. id end,	categoryExternalLink( 'FootballFacts.ru' ) },
--	{ getLabelWithoutLink( 'Q62010843', 'FSkate.ru'),									'P6624',	function (id)		return 'http://www.fskate.ru/skaters/' .. id .. '.html' end,	categoryExternalLink( 'FSkate.ru' ) },
	{ getLabelWithoutLink( 'Q42947209', 'Gymn Forum'),									'P4546',	function (id)		return 'http://www.gymn-forum.net/bios/' .. id .. '.html' end,	categoryExternalLink( 'Gymn Forum' ) },	
	{ getLabelWithoutLink( 'Q1666611', 'IGHOF'),										'P4469',	function (id)		return 'http://www.ighof.com/inductees/' .. id .. '.php' end,	categoryExternalLink( 'IGHOF' ) },
	{ getLabelWithoutLink( 'Q175386', 'IPC'),											'P7550',	function (id)		return 'https://www.paralympic.org/' .. id  end,	categoryExternalLink( 'IPC' ) },
	{ getLabelWithoutLink( 'Q28380160', 'International Trail-Running Association'),		'P3584',	function (id)		return 'https://itra.run/RunnerSpace/' .. id  end,	categoryExternalLink( 'International Trail-Running Association' ) },
	{ getLabelWithoutLink( 'Q62445094', 'Kicker.de'),									'P6615',	function (id)		return 'http://www.kicker.de/' .. id  .. '/vereinsspieler_profil.html' end,	categoryExternalLink( 'Kicker.de' ) },
	{ getLabelWithoutLink( 'Q62445094', 'Kicker.de'),									'P8912',	function (id)		return 'http://www.kicker.de/' .. id  .. '/spieler' end,	categoryExternalLink( 'Kicker.de' ) },
	{ getLabelWithoutLink( 'Q25455377', 'Kooora'),										'P8021',	function (id)		return 'https://www.goalzz.com/main.aspx?player=' .. id  end,	categoryExternalLink( 'Kooora' ) },
	{ getLabelWithoutLink( 'Q815748', 'L’Équipe'),										'P3665',	function (id)		return 'https://www.lequipe.fr/Football/FootballFicheJoueur' .. id .. '.html' end,	categoryExternalLink( 'L’Équipe' ) },
	{ getLabelWithoutLink( 'Q68461351', 'LaPreferente.com'),							'P7359',	function (id)		return 'https://www.lapreferente.com/J' .. id .. '/.html' end,	categoryExternalLink( 'LaPreferente.com' ) },
	{ getLabelWithoutLink( 'Q21996558', 'Les-Sports.info'),								'P4391',	function (id)		return 'https://www.the-sports.org/t-spf' .. id .. '.html' end,	categoryExternalLink( 'Les-Sports.info' ) },
	{ getLabelWithoutLink( 'Q21872160', 'mackolik.com'),								'P2458',	function (id)		return 'https://www.mackolik.com/futbolcu/' .. id end,	categoryExternalLink( 'mackolik.com' ) },
	{ getLabelWithoutLink( 'Q18927195', 'Munzinger Sport'),								'P1285',	function (id)		return 'https://www.munzinger.de/search/go/document.jsp?id=' .. id end,	categoryExternalLink( 'Munzinger Sport' ) },
	{ getLabelWithoutLink( 'Q18693731', 'National Football Teams.com'),					'P8319',	function (id)		return 'https://www.national-football-teams.com/matches/report/' .. id .. '/-.html' end,	categoryExternalLink( 'National Football Teams.com' ) },
	{ getLabelWithoutLink( 'Q18693731', 'National Football Teams.com'),					'P2574',	function (id)		return 'https://www.national-football-teams.com/player/' .. id .. '.html' end,	categoryExternalLink( 'National Football Teams.com' ) },
	{ getLabelWithoutLink( 'Q18693731', 'National Football Teams.com'),					'P8147',	function (id)		return 'https://www.national-football-teams.com/club/' .. id .. '.html' end,	categoryExternalLink( 'National Football Teams.com' ) },
	{ getLabelWithoutLink( 'Q95606922', 'Olympedia'),									'P8286',	function (id)		return 'https://www.olympedia.org/athletes/' .. id end,	categoryExternalLink( 'Olympedia' ) },
	{ getLabelWithoutLink( 'Q40970', 'Olympic.org'),									'P3171',	function (id)		return 'https://web.archive.org/web/20181201000000/https://www.olympic.org/' .. id end,	categoryExternalLink( 'Olympic.org' ) },
	{ getLabelWithoutLink( 'Q56509677', 'OlympicChannel'),								'P5815',	function (id)		return 'https://olympics.com/en/athletes/' .. id end,	categoryExternalLink( 'OlympicChannel' ) },
	{ getLabelWithoutLink( 'Q10395044', 'playmarkerstats.com (гравець)'),				'P3047',	function (id)		return 'https://www.thefinalball.com/player.php?id=' .. id end,	categoryExternalLink( 'playmarkerstats.com' ) },
	{ getLabelWithoutLink( 'Q10395044', 'playmarkerstats.com (тренер)'),				'P6316',	function (id)		return 'https://www.thefinalball.com/coach.php?id=' .. id end,	categoryExternalLink( 'playmarkerstats.com' ) },
	{ getLabelWithoutLink( 'Q10395044', 'playmarkerstats.com (суддя)'),					'P6315',	function (id)		return 'https://www.thefinalball.com/arbitro.php?id=' .. id end,	categoryExternalLink( 'playmarkerstats.com' ) },
	{ getLabelWithoutLink( 'Q10395044', 'playmarkerstats.com'),							'P7280',	function (id)		return 'https://www.playmakerstats.com/equipa.php?id=' .. id end,	categoryExternalLink( 'playmarkerstats.com' ) },
	{ getLabelWithoutLink( 'Q10395044', 'playmarkerstats.com'),							'P7493',	function (id)		return 'https://www.playmakerstats.com/jogo.php?id=' .. id end,	categoryExternalLink( 'playmarkerstats.com' ) },
	{ getLabelWithoutLink( 'Q110997069', 'RODI-DB'),									'P10429',	function (id)		return 'https://www.rodi-db.de/player.php?id=' .. id end,	categoryExternalLink( 'RODI-DB' ) },
	{ getLabelWithoutLink( 'Q98809736', 'Sambafoot'),									'P3668',	function (id)		return 'https://www.sambafoot.com/en/players/' .. id end,	categoryExternalLink( 'Sambafoot' ) },
	{ getLabelWithoutLink( 'Q3487231', 'So Foot'),										'P5740',	function (id)		return 'https://www.sofoot.com/' .. id .. '.html' end,	categoryExternalLink( 'So Foot' ) },
	{ getLabelWithoutLink( 'Q21705947', 'Soccerbase (гравець)'),						'P2193',	function (id)		return 'https://www.soccerbase.com/players/player.sd?player_id=' .. id end,	categoryExternalLink( 'Soccerbase' ) },
	{ getLabelWithoutLink( 'Q21705947', 'Soccerbase (суддя)'),							'P7465',	function (id)		return 'https://www.soccerbase.com/referees/referee.sd?referee_id=' .. id end,	categoryExternalLink( 'Soccerbase' ) },
	{ getLabelWithoutLink( 'Q21705947', 'Soccerbase (тренер)'),							'P2195',	function (id)		return 'https://www.soccerbase.com/managers/manager.sd?manager_id=' .. id end,	categoryExternalLink( 'Soccerbase' ) },
	{ getLabelWithoutLink( 'Q21705947', 'Soccerbase'),									'P7454',	function (id)		return 'https://www.soccerbase.com/teams/team.sd?team_id=' .. id end,	categoryExternalLink( 'Soccerbase' ) },
	{ getLabelWithoutLink( 'Q24192203', 'Soccerway'),									'P7494',	function (id)		return 'https://int.soccerway.com/matches/0000/00/00/-/-/-/-/' .. id end,	categoryExternalLink( 'Soccerway' ) },
	{ getLabelWithoutLink( 'Q24192203', 'Soccerway'),									'P2369',	function (id)		return 'https://int.soccerway.com/players/-/' .. id .. '/' end,	categoryExternalLink( 'Soccerway' ) },
	{ getLabelWithoutLink( 'Q24192203', 'Soccerway'),									'P6131',	function (id)		return 'https://int.soccerway.com/teams/wd/wd/' .. id .. '/' end,	categoryExternalLink( 'Soccerway' ) },
	{ getLabelWithoutLink( 'Q24192203', 'Soccerway'),									'P8775',	function (id)		return 'https://int.soccerway.com/venues/wd/wd/' .. id .. '/' end,	categoryExternalLink( 'Soccerway' ) },
	{ getLabelWithoutLink( 'Q60500406', 'Sport24'),										'P10515',	function (id)		return 'https://sport24.ru/players/' .. id end,	categoryExternalLink( 'Sport24' ) },
	{ getLabelWithoutLink( 'Q17082873', 'Sports-Reference.com'),						'P1447',	function (id)		return 'https://web.archive.org/web/20161203200557/http://www.sports-reference.com/olympics/athletes/' .. id .. '.html' end,	categoryExternalLink( 'Sports-Reference.com' ) },
	{ getLabelWithoutLink( 'Q4049960', 'Sports.ru'),									'P4408',	function (id)		return 'https://www.sports.ru/tags/' .. id end,	categoryExternalLink( 'Sports.ru' ) },
	{ getLabelWithoutLink( 'Q4049959', 'Sportbox.ru'),									'P4421',	function (id)		return 'https://news.sportbox.ru/Vidy_sporta/' .. id end,	categoryExternalLink( 'Sportbox.ru' ) },
	{ getLabelWithoutLink( 'Q23000500', 'Teams.by'),									'P7490',	function (id)		return 'https://www.teams.by/club-' .. id .. '/' end,	categoryExternalLink( 'Teams.by' ) },
--	{ getLabelWithoutLink( 'Q69079218', 'TFF Info Bank'),								'P2448',	function (id)		return 'https://www.tff.org/Default.aspx?pageId=526&kisiID=' .. id end,	categoryExternalLink( 'TFF Info Bank' ) },
	{ getLabelWithoutLink( 'Q19385775', 'The Internet Hockey Database'),				'P2602',	function (id)		return 'https://www.hockeydb.com/ihdb/stats/pdisplay.php?pid=' .. id end,	categoryExternalLink( 'The Internet Hockey Database' ) },
	{ getLabelWithoutLink( 'Q13425499', 'Tilastopaja'),									'P3882',	function (id)		return 'https://www.tilastopaja.eu/db/at.php?Sex=2&ID=' .. id end,	categoryExternalLink( 'Tilastopaja' ) },
	{ getLabelWithoutLink( 'Q13425499', 'Tilastopaja'),									'P3884',	function (id)		return 'https://www.tilastopaja.eu/db/at.php?Sex=1&ID=' .. id end,	categoryExternalLink( 'Tilastopaja' ) },
	{ getLabelWithoutLink( 'Q29384941', 'Track and Field Statistics'),					'P3924',	function (id)		return 'http://trackfield.brinkster.net/Profile.asp?ID=' .. id .. '&Gender=W' end,	categoryExternalLink( 'Track and Field Statistics' ) },
	{ getLabelWithoutLink( 'Q29384941', 'Track and Field Statistics'),					'P3925',	function (id)		return 'http://trackfield.brinkster.net/Profile.asp?ID=' .. id .. '&Gender=M' end,	categoryExternalLink( 'Track and Field Statistics' ) },
	{ getLabelWithoutLink( 'Q2449070', 'Transfermarkt (суддя)'),						'P3699',	function (id)		return 'https://www.transfermarkt.com/transfermarkt/profil/schiedsrichter/' .. id end,	categoryExternalLink( 'Transfermarkt' ) },
	{ getLabelWithoutLink( 'Q2449070', 'Transfermarkt (гравець))'),						'P2446',	function (id)		return 'https://www.transfermarkt.com/transfermarkt/profil/spieler/' .. id end,	categoryExternalLink( 'Transfermarkt' ) },
	{ getLabelWithoutLink( 'Q2449070', 'Transfermarkt (тренер)'),						'P2447',	function (id)		return 'https://www.transfermarkt.com/transfermarkt/profil/trainer/' .. id end,	categoryExternalLink( 'Transfermarkt' ) },
	{ getLabelWithoutLink( 'Q2449070', 'Transfermarkt'),								'P7223',	function (id)		return 'https://www.transfermarkt.co.uk/-/startseite/verein/' .. id end,	categoryExternalLink( 'Transfermarkt' ) },
	{ getLabelWithoutLink( 'Q65123155', 'TuttoCalciatori.net'),							'P7035',	function (id)		return 'https://www.tuttocalciatori.net/allenatori/' .. id .. '-' end,	categoryExternalLink( 'TuttoCalciatori.net' ) },
	{ getLabelWithoutLink( 'Q65123155', 'TuttoCalciatori.net'),							'P7036',	function (id)		return 'https://www.tuttocalciatori.net/' .. id end,	categoryExternalLink( 'TuttoCalciatori.net' ) },
	{ getLabelWithoutLink( 'Q4052106', 'UA-Футбол'),									'P10157',	function (id)		return 'https://www.ua-football.com/stats/player/' .. id end,	categoryExternalLink( 'UA-Футбол' ) },
	{ getLabelWithoutLink( 'Q20773699', 'worldfootball.net (гравець)'),					'P2020',	function (id)		return 'https://www.worldfootball.net/player_summary/' .. id .. '/' end,	categoryExternalLink( 'worldfootball.net' ) },
	{ getLabelWithoutLink( 'Q20773699', 'worldfootball.net (суддя)'),					'P6314',	function (id)		return 'https://www.worldfootball.net/referee_summary/' .. id .. '/' end,	categoryExternalLink( 'worldfootball.net' ) },
	{ getLabelWithoutLink( 'Q20773699', 'worldfootball.net'),							'P8318',	function (id)		return 'https://www.worldfootball.net/venues/' .. id .. '/' end,	categoryExternalLink( 'worldfootball.net' ) },
	{ getLabelWithoutLink( 'Q20773699', 'worldfootball.net'),							'P7287',	function (id)		return 'https://www.worldfootball.net/teams/' .. id .. '/' end,	categoryExternalLink( 'worldfootball.net' ) },
	{ getLabelWithoutLink( 'Q20773699', 'worldfootball.net'),							'P7441',	function (id)		return 'https://www.worldfootball.net/competition/' .. id .. '/' end,	categoryExternalLink( 'worldfootball.net' ) },
	{ getLabelWithoutLink( 'Q19801038', 'WorldReferee.com'),							'P7436',	function (id)		return 'https://worldreferee.com/referee/' .. id .. '/' end,	categoryExternalLink( 'WorldReferee.com' ) },
	{ getLabelWithoutLink( 'Q381929', 'World Sailing'),									'P2804',	function (id)		return 'http://www.sailing.org/biog?memberid=' .. id .. '&js=1' end,	categoryExternalLink( 'World Sailing' ) },
	{ getLabelWithoutLink( 'Q1204310', 'Німецька асоціація ультрамарафону'),			'P2162',	function (id)		return 'https://statistik.d-u-v.org/getresultperson.php?runner=' .. id .. '&js=1' end,	categoryExternalLink( 'Німецька асоціація ультрамарафону' ) },
	{ getLabelWithoutLink( 'Q688489', 'Обєднаний світ боротьби'),						'P2727',	function (id)		return 'https://whatsmat.uww.org/daten.php?spid=' .. id end,	categoryExternalLink( 'Обєднаний світ боротьби' ) },
	{ getLabelWithoutLink( 'Q1153430', 'Олімпійський комітет Аргентини'),				'P4065',	function (id)		return 'https://www.coarg.org.ar/index.php/component/k2/item/' .. id end,	categoryExternalLink( 'Олімпійський комітет Аргентини' ) },
	{ getLabelWithoutLink( 'Q1158', 'Світова легка атлетика'),							'P1146',	function (id)		return 'https://www.worldathletics.org/athletes/_/0' .. id end,	categoryExternalLink( 'Світова легка атлетика' ) },
	{ getLabelWithoutLink( 'Q140486', 'Українська асоціація футболу'),					'P3662',	function (id)		return 'https://start.uaf.ua/players/' .. id end,	categoryExternalLink( 'Українська асоціація футболу' ) },
	{ getLabelWithoutLink( 'Q4470534', 'Українська «Премєр-ліга»'),						'P7362',	function (id)		return 'https://upl.ua/ua/people/view/' .. id end,	categoryExternalLink( 'Українська «Премєр-ліга»' ) },
--	{ getLabelWithoutLink( 'Q35572', 'УЄФА'),											'P2276',	function (id)		return 'https://www.uefa.com/uefachampionsleague/clubs/players/' .. id end,	categoryExternalLink( 'УЄФА' ) },
	{ getLabelWithoutLink( 'Q253414', 'ФІФА'),											'P1469',	function (id)		return 'https://web.archive.org/web/20200622011204/http://www.fifa.com/worldfootball/statisticsandrecords/players/player=' .. id .. '/index.html' end,	categoryExternalLink( 'ФІФА' ) },
	{ getLabelWithoutLink( 'Q13394', 'Французька футбольна Ліга 1'),					'P9266',	function (id)		return 'https://www.ligue1.fr/joueur?id=' .. id end,	categoryExternalLink( 'Французька футбольна Ліга 1' ) },
}	



--- група 10
local themeProfilesProperties = {
	-- архіви
	{ getLabelWithoutLink( 'Q105580684', 'Archivo de la Real Academia Española' ),		'P9226',	function (id)		return 'http://archivo.rae.es/index.php/' .. id end,	categoryExternalLink( 'Archivo de la Real Academia Española' ) },
	{ getLabelWithoutLink( 'Q52897564', 'dati.beniculturali.it' ),						'P9049',	function (id)		return 'https://catalogo.beniculturali.it/Agent/' .. id end,	categoryExternalLink( 'dati.beniculturali.it' ) },
	{ getLabelWithoutLink( 'Q110158722', 'discovery.nationalarchives.gov.uk' ),			'P3029',	function (id)		return 'https://discovery.nationalarchives.gov.uk/details/c/' .. id end,	categoryExternalLink( 'discovery.nationalarchives.gov.uk' ) },
	{ getLabelWithoutLink( 'Q105343911', 'E-Archiv.li' ),								'P860',		function (id)		return 'http://www.e-archiv.li/personDetail.aspx?persID=' .. id end,	categoryExternalLink( 'E-Archiv.li' ) },
	{ getLabelWithoutLink( 'Q44526767', 'Early Modern Letters Online' ),				'P1802',	function (id)		return 'http://emlo.bodleian.ox.ac.uk/profile/person/' .. id end,	categoryExternalLink( 'Early Modern Letters Online' ) },
	{ getLabelWithoutLink( 'Q98629471', 'Edition humboldt digital' ),					'P8826',	function (id)		return 'https://edition-humboldt.de/' .. id end,	categoryExternalLink( 'Edition humboldt digital' ) },
	{ getLabelWithoutLink( 'Q29861311', 'SNAC' ),										'P3430',	function (id)		return 'https://snaccooperative.org/ark:/99166/' .. id end,	categoryExternalLink( 'SNAC' ) },
	{ getLabelWithoutLink( 'Q87010190', 'The Ark' ),									'P8899',	function (id)		return 'https://arken.kb.se/' .. id end,	categoryExternalLink( 'The Ark' ) },
	{ getLabelWithoutLink( 'Q105871932', 'Архів Єльського університету' ),				'P8902',	function (id)		return 'https://archives.yale.edu/agents/' .. id end,	categoryExternalLink( 'Архів Єльського університету' ) },
	{ getLabelWithoutLink( 'Q661051', 'Дипломатичні документи Швейцарії' ),				'P701',		function (id)		return 'https://dodis.ch/' .. id end,	categoryExternalLink( 'Дипломатичні документи Швейцарії' ) },
	{ getLabelWithoutLink( 'P7846', 'ідентифікатор Beta maṣāḥǝft' ),					'P7846',	function (id)		return 'https://betamasaheft.eu/' .. id end,	categoryExternalLink( 'ідентифікатор Beta maṣāḥǝft' ) },
	{ getLabelWithoutLink( 'Q1205813', 'Німецький літературний архів Марбах' ),			'P9918',	function (id)		return 'https://www.dla-marbach.de/find/opac/id/' .. id end,	categoryExternalLink( 'Kallías' ) },
	{ getLabelWithoutLink( 'Q332342', 'Триніті-коледж (Кембридж)' ),					'P8496',	function (id)		return 'https://archives.trin.cam.ac.uk/index.php/' .. id end,	categoryExternalLink( 'Триніті-коледж (Кембридж)' ) },
	-- бізнес
	{ getLabelWithoutLink( 'Q795419', 'Det Centrale Virksomhedsregister' ),				'P7972',	function (id)		return 'https://datacvr.virk.dk/data/visenhed?enhedstype=person&id=' .. id end,	categoryExternalLink( 'Det Centrale Virksomhedsregister' ) },
	{ getLabelWithoutLink( 'Q7095760', 'OpenCorporates' ),								'P1320',	function (id)		return 'https://opencorporates.com/companies/' .. id end,	categoryExternalLink( 'OpenCorporates' ) },
	{ getLabelWithoutLink( 'Q18535356', 'Номер корпорації (Японія)' ),					'P3225',	function (id)		return 'https://www.houjin-bangou.nta.go.jp/henkorireki-johoto.html?selHouzinNo=' .. id end,	categoryExternalLink( 'Номер корпорації (Японія)' ) },
	-- законодавство та юрисприденція
	{ getLabelWithoutLink( 'Q108555367', 'Законодавство України' ),						'P4051',	function (id)		return 'https://zakon.rada.gov.ua/laws/show/' .. id end,	categoryExternalLink( 'Законодавство України' ) },
	-- інформаціяні технології
	{ getLabelWithoutLink( 'Q57783174', 'old-computers.com' ),							'P5936',	function (id)		return 'https://www.old-computers.com/museum/computer.asp?c=' .. id end,	categoryExternalLink( 'old-computers.com' ) },
	{ getLabelWithoutLink( 'Q15241057', 'Wolfram Languagem' ),							'P4839',	function (id)		return 'https://www.wolframalpha.com/input/?i=' .. mw.uri.encode(id) end,	categoryExternalLink( 'Wolfram Language' ) },
	-- новинні сайти
	{ getLabelWithoutLink( 'Q12020', 'Google Новини' ),									'P5337',	function (id)		return 'https://news.google.com/topics/' .. mw.uri.encode(id) end,	categoryExternalLink( 'Google Новини' ) },
	{ getLabelWithoutLink( 'Q27063359', 'Omni' ),										'P3479',	function (id)		return 'https://omni.se/t/-/' .. mw.uri.encode(id) end,	categoryExternalLink( 'Omni' ) },
	{ getLabelWithoutLink( 'Q17271303', 'VC.ru' ),										'P10499',	function (id)		return 'https://vc.ru/' .. id end,	categoryExternalLink( 'VC.ru' ) },
	-- політика
--	{ getLabelWithoutLink( 'Q176296', 'ВРУ' ),											'P3391',	function (id)		return 'https://itd.rada.gov.ua/mps/info/page/' .. id end,				categoryExternalLink( 'ВРУ' ) },
	{ getLabelWithoutLink( 'Q20035614', 'Декларатор' ),									'P1883',	function (id)		return 'https://declarator.org/person/' .. id end,						categoryExternalLink( 'Декларатор' ) },
	{ getLabelWithoutLink( 'Q715641', 'Державна дума Російської Федерації' ),			'P10072',	function (id)		return 'http://duma.gov.ru/duma/persons/' .. id end,						categoryExternalLink( 'Державна дума Російської Федерації' ) },
	{ getLabelWithoutLink( 'Q109774741', 'Крим політичний' ),							'P10162',	function (id)		return 'http://politika-crimea.ru/persons/' .. id end,						categoryExternalLink( 'Крим політичний' ) },
	{ getLabelWithoutLink( 'Q4345434', 'Парлементская газета' ),						'P10131',	function (id)		return 'https://www.pnp.ru/person/' .. id .. '/' end,					categoryExternalLink( 'Парламентская газета' ) },
	{ getLabelWithoutLink( 'Q939743', 'Парламентська асамблея Ради Європи' ),			'P1331',	function (id)		return 'https://pace.coe.int/en/members/' .. id end,					categoryExternalLink( 'Парламентская газета' ) },
	{ getLabelWithoutLink( 'Q5124671', 'Чесно' ),										'P7145',	function (id)		return 'https://www.chesno.org/politician/' .. id .. '/' end,					categoryExternalLink( 'Чесно' ) },
	-- common
	{ getLabelWithoutLink( 'Q27764876', 'Archive of Our Own' ),							'P8419',	function (id)		return 'https://wikidata-externalid-url.toolforge.org/?p=8419&url_prefix=https://archiveofourown.org/tags/&id=' .. mw.uri.encode(id)	end,		categoryExternalLink( 'Archive of Our Own' ) },
	{ getLabelWithoutLink( 'Q67176535', 'Downdetector' ),								'P7306',	function (id)		return 'https://downdetector.com/status/' .. id	end,		categoryExternalLink( 'Downdetector' ) },
	{ getLabelWithoutLink( 'Q62338567', 'Japan Search' ),								'P6698',	function (id)		return 'https://jpsearch.go.jp/entity/chname/' .. id end,			categoryExternalLink( 'Japan Search' ) },
	{ getLabelWithoutLink( 'Q213660', 'LinkedIn' ),								        'P4264',	function (id)		return 'https://www.linkedin.com/company/' .. id end,	categoryExternalLink( 'LinkedIn' ) },
	{ getLabelWithoutLink( 'Q51711', 'Quora' ),									        'P3417',	function (id)		return 'https://www.quora.com/topic/' .. id end,		categoryExternalLink( 'Quora' ) },
	{ getLabelWithoutLink( 'Q27303896', 'Yleinen suomalainen ontologia' ),		        'P2347',	function (id)		return 'https://www.yso.fi/onto/yso/p' .. id end,		categoryExternalLink( 'Yleinen suomalainen ontologia' ) },
	{ getLabelWithoutLink( 'Q15898172', 'Zhihu' ),								        'P3553',	function (id)		return 'https://www.zhihu.com/topic/' .. id end,		categoryExternalLink( 'Zhihu' ) },
}



--- група 11
local dictionaries = {
	{ id = 'P8992',				title = '1914-1918-online',							linkF = function (id) 	return 'https://encyclopedia.1914-1918-online.net/article/' .. id end	},
	{ id = 'P9222',				title = 'Башкирська енциклопедія',								linkF = function (id) 	return 'http://bashenc.online/ru/articles/' .. id .. '/' end	},
	{ id = 'Q19217220',			title = 'Березіна',									project = 'ukwikisource',	projectCode = 's:'	},
	{ id = 'P10033',			title = 'Биография.ру',								linkF = function (id) 	return 'https://www.biografija.ru/biography/' .. id .. '.htm' end,													},
	{ id = 'Q4086271',			title = 'Біблійська енциклопедія',								project = 'ukwikisource',	projectCode = 's:'	},
	{ id = 'P9626',				title = 'Біографічна енциклопедія астрономів (англ.)',linkF = function (id) 	return 'https://doi.org/10.1007/978-0-387-30400-7_' .. id end,													},
	{ id = 'P4991',				title = 'Біографічний словник Грузії',				linkF = function (id) 	return 'http://www.nplg.gov.ge/bios/ka/' .. id .. '/' end,													},
	{ id = 'P2924',				title = 'Большая российская энциклопедия',			linkF = function (id) 	return 'https://old.bigenc.ru/text/' .. id end	},
	{ id = 'P1648',				title = 'Валлійський біографічний словник',					linkF = function (id) 	return 'http://yba.llgc.org.uk/en/' .. id .. '.html' end,													},
	{ id = 'P10108',			title = 'Веб-енциклопедія Києва',					linkF = function (id) 	return 'http://wek.kiev.ua/uk/?curid=' .. id .. '.html' end,													},
	{ id = 'P8313',				title = 'Велика данська енциклопедія',				linkF = function (id) 	return 'https://denstoredanske.lex.dk/' .. id end	},
	{ id = 'Q602358',			title = 'Велика енциклопедія Брокгауза і Єфрона',	project = 'ukwikisource',	projectCode = 's:'	},
	{ id = 'Q4091878',			title = 'Велика енциклопедія Южакова',				project = 'ukwikisource',	projectCode = 's:'	},
	{ id = 'P1296',				title = 'Велика каталанська енциклопедія',			linkF = function (id) 	return 'http://www.enciclopedia.cat/enciclopèdies/gran-enciclopèdia-catalana/EC-GEC-' .. id .. '.xml' end	},
	{ id = 'P6412',				title = 'Велика музична енциклопедія (кат.)',		linkF = function (id) 	return 'https://www.enciclopedia.cat/EC-GEM-' .. id .. '.xml' end	},
	{ id = 'P4342',				title = 'Велика норвезька енциклопедія',							linkF = function (id) 	return 'https://snl.no/' .. id end	},
	{ id = 'Q20078554',			title = 'Велика радянська енциклопедія (1 вид.)',				project = 'ukwikisource',	projectCode = 's:'	},
	{ id = 'Q17378135',			title = 'Велика радянська енциклопедія',							},
	{ id = 'P9765',				title = 'Велика українська енциклопедія',						linkF = function (id) 	return 'https://vue.gov.ua/' .. id end	},
	{ id = 'Q4114391',			title = 'Військова енциклопедія',								project = 'ukwikisource',	projectCode = 's:'	},
	{ id = 'P8935',				title = 'Енциклопедія історії України',				linkF = function (id) 	return 'http://www.history.org.ua/?termin=' .. id end, },
	{ id = 'P4613',				title = 'Енциклопедія сучасної України',			linkF = function (id) 	return 'http://esu.com.ua/search_articles.php?id=' .. id end	},
	{ id = 'P9070',				title = 'Енциклопедія України в Інтернеті',			linkF = function (id) 	return 'http://www.encyclopediaofukraine.com/display.asp?linkpath=pages' .. id end	},
	{ id = 'Q4173137',			title = 'Єврейська енциклопедія Брокгауза і Єфрона',project = 'ukwikisource',	projectCode = 's:'	},
	{ id = 'P902',				title = 'Історичний словник Швейцарії',				linkF = function (id)		return 'https://hls-dhs-dss.ch/de/articles/' .. id end, },
	{ id = 'Q4239850',			title = 'Коротка літературна енциклопедія'						},
	{ id = 'P6870',				title = 'Латвійська національна енциклопедія',		linkF = function (id)		return 'https://enciklopedija.lv/skirklis/' .. id end,	},
	{ id = 'P1343:Q17290934',	title = 'Лентапедия',								project = 'ruwikisource',	projectCode = ':s:ru:'	},
	{ id = 'P7666',				title = 'Універсальна литовська енциклопедія',		linkF = function (id)		return 'https://www.vle.lt/straipsnis/' .. id end,	},
	{ id = 'Q4263804',			title = 'Літературна енциклопедія',								},
	{ id = 'Q19180675',			title = 'Малий енциклопедичний словник Брокгауза і Єфрона',	project = 'ukwikisource',	projectCode = 's:'	},
	{ id = 'Q19190511',			title = 'Новий словник',									project = 'ukwikisource',	projectCode = 's:'	},
	{ id = 'P1415',				title = 'Оксфордський словник національних біографій',	linkF = function (id)		return 'https://doi.org/10.1093/ref:odnb/' .. id end,													},
	{ id = 'Q2498180',			title = 'Православна енциклопедія',								},
	{ id = 'P5002',				title = 'Православная энциклопедия',				linkF = function (id)		return 'https://www.pravenc.ru/text/' .. id .. '.html' end,													},
	{ id = 'Q19211082',			title = 'Православна богословська енциклопедія',					project = 'ukwikisource',	projectCode = 's:'	},
	{ id = 'Q1960551',			title = 'Російський біографічний словник',					project = 'ukwikisource',	projectCode = 's:'	},
	{ id = 'P8144',	    		title = 'Тернопільська енциклопедія',							linkF = function (id)		return 'https://ternopedia.te.ua/index.php?curid=' .. id end	},
	{ id = 'Q20078551',			title = 'Технічна енциклопедія (1 вид.)',						project = 'ukwikisource',	projectCode = 's:'	},
	{ id = 'Q1970746',			title = 'Тлумачний словник',								project = 'ukwikisource',	projectCode = 's:'	},
	{ id = 'P9826',				title = 'Универсальная энциклопедия Кирилла и Мефодия',linkF = function (id) 	return 'http://megabook.ru/article/' .. mw.uri.encode(id) end	},
	{ id = 'P7982',				title = 'Хорватська енциклопедія',					linkF = function (id)		return 'https://www.enciklopedija.hr/Natuknica.aspx?ID='.. id end, },
	{ id = 'P8581',				title = 'Хорватський біографічний лексикон',					linkF = function (id)		return 'https://hbl.lzmk.hr/clanak.aspx?id='.. id end, },
	{ id = 'P3222',				title = 'Шведська національна енциклопедія',		linkF = function (id)		return 'https://www.ne.se/uppslagsverk/encyklopedi/l%C3%A5ng/' .. id end,										},
	{ id = 'P886',				title = 'Швейцарський історичний словник (online)',			linkF = function (id)		return 'http://www.e-lir.ch/e-LIR___Lexicon.' .. id .. '.450.0.html'	end,								},
	{ id = 'P1438',				title = 'Электронная еврейская энциклопедия',		linkF = function (id)		return 'https://eleven.co.il/article/' .. id end,														},
	{ id = 'P6385',				title = 'Энциклопедия Кругосвет',					linkF = function (id)		return 'https://www.krugosvet.ru/enc/' .. id end,	},
	{ id = 'Q590208',			title = 'Allgemeine Deutsche Biographie',			project = 'dewikisource',	projectCode = 's:de:'	},
	{ id = 'Q19077875',			title = 'American Cycl. (1879)',					project = 'enwikisource',	projectCode = 's:en:'	},
	{ id = 'Q19037977',			title = 'American Med. Biogr. (1920)',				project = 'enwikisource',	projectCode = 's:en:'	},
	{ id = 'Q12912667',			title = 'Appletons\' (1887—1901)',					project = 'enwikisource',	projectCode = 's:en:'	},
	{ id = 'P1907',				title = 'Australian Dictionary of Biography',		linkF = function (id)		return 'https://adb.anu.edu.au/biography/'.. id end, },
	{ id = 'P2581',				title = 'BabelNet',					        		linkF = function (id)		return 'https://babelnet.org/synset?word=bn:'.. id .. '&lang=EN'  end, },
	{ id = 'P2390',				title = 'Ballotpedia',				        		linkF = function (id)		return 'https://ballotpedia.org/'.. id end, },
	{ id = 'P9160',				title = 'Biografický slovník českých zemí',			linkF = function (id)		return 'http://biography.hiu.cas.cz/Personal/index.php?curid='.. id end, },
	{ id = 'P3595',				title = 'Biografiskt Lexikon för Finland',			linkF = function (id)		return 'http://www.blf.fi/artikel.php?id='.. id end, },
	{ id = 'P7928',				title = 'Biographisches Lexikon zur Geschichte Südosteuropas',linkF = function (id)		return 'https://www.biolex.ios-regensburg.de/BioLexViewview.php?ID='.. id end, },
	{ id = 'Q20096917',			title = 'Britannica (9-th)',						project = 'enwikisource',	projectCode = 's:en:'	},
	{ id = 'Q867541',			title = 'Britannica (11-th)',						project = 'enwikisource',	projectCode = 's:en:'	},
	{ id = 'Q15987490',			title = 'Britannica (12-th)',						project = 'enwikisource',	projectCode = 's:en:'	},
	{ id = 'P5019',				title = 'Brockhaus Enzyklopädie',					linkF = function (id)		return 'https://brockhaus.de/ecs/enzy/article/'.. id end, },
	{ id = 'Q302556',			title = 'Catholic (1907—13)',						project = 'enwikisource',	projectCode = 's:en:'	},
	{ id = 'P3241',				title = 'Catholic Encyclopedia',					linkF = function (id)		return 'https://www.newadvent.org/cathen/'.. id .. '.htm' end, },
	{ id = 'P3569',				title = 'Cultureel Woordenboek',					linkF = function (id)		return 'https://www.cultureelwoordenboek.nl/'.. id end, },
	{ id = 'P6706',				title = 'De Agostini',								linkF = function (id)		return 'http://www.sapere.it/enciclopedia/'.. id .. '.html' end, },
	{ id = 'P3794',				title = 'Dictionary of Sydney',						linkF = function (id)		return 'https://dictionaryofsydney.org/'.. id end, },
	{ id = 'P7993',				title = 'Dizionario di Filosofia Treccani',			linkF = function (id)		return 'https://www.treccani.it/enciclopedia/'.. id .. '_(Dizionario-di-filosofia)'  end, },
	{ id = 'P4399',				title = 'Enciclopédia Itaú Cultural',				linkF = function (id)		return 'https://enciclopedia.itaucultural.org.br/'.. id end, },
	{ id = 'P6058',				title = 'Encyclopédie Larousse',					linkF = function (id)		return 'https://www.larousse.fr/encyclopedie/' .. id end,	},
	{ id = 'P3365',				title = 'Encyclopedia Treccani',					linkF = function (id)		return 'http://www.treccani.it/enciclopedia/'.. id end, },
	{ id = 'P1417',				title = 'Encyclopædia Britannica',					linkF = function (id)		return 'http://britannica.com/'.. id end, },
	{ id = 'P3219',				title = 'Encyclopædia Universalis',	        		linkF = function (id)		return 'https://www.universalis.fr/encyclopedie/' .. id .. '/' end, },
	{ id = 'P9498',				title = 'Enzyklopädie des europäischen Ostens',		linkF = function (id)		return 'https://eeo.aau.at/eeo.aau.at/index'.. id .. '.html' end, },
	{ id = 'P1807',				title = 'Gran Enciclopedia Aragonesa',				linkF = function (id)		return 'http://www.enciclopedia-aragonesa.com/voz.asp?voz_id='.. id end, },
	{ id = 'P8406',				title = 'Grove Art Online',							linkF = function (id)		return 'https://doi.org/10.1093/gao/9781884446054.article.'.. id end, },
	{ id = 'P7305',				title = 'Internetowa encyklopedia PWN',	       		linkF = function (id)		return 'https://encyklopedia.pwn.pl/haslo/;' .. id .. '.html' end, },
	{ id = 'P6573',				title = 'Klexikon',									linkF = function (id)		return 'https://klexikon.zum.de/wiki/'.. id end, },
	{ id = 'P7578',				title = 'Le Dictionnaire universel des Créatrices',	linkF = function (id)		return 'https://www.dictionnaire-creatrices.com/fiche-'.. id end, },
	{ id = 'P10242',			title = 'Lur Hiztegi Entziklopedikoan',				linkF = function (id)		return 'https://web.archive.org/web/20211215183258/https://www.euskadi.eus/web01-a2lurhiz/eu/contenidos/termino/_c'.. id .. '.html' end, },
	{ id = 'Q20089963',			title = 'New International',						project = 'enwikisource',	projectCode = 's:en:'	},
	{ id = 'P6900',				title = 'NicoNicoPedia',							linkF = function (id)		return 'https://dic.nicovideo.jp/a/'.. id end, },
	{ id = 'P8432',				title = 'Österreichisches Musiklexikon Online',		linkF = function (id)		return 'https://www.musiklexikon.ac.at/ml/musik_'.. id .. '.xml' end, },
	{ id = 'P3368',				title = 'Prabook',									linkF = function (id)		return 'https://prabook.com/web/person-view.html?profileId='.. id end, },
	{ id = 'P8349',				title = 'Proleksis Encyclopedia',					linkF = function (id)		return 'https://proleksis.lzmk.hr/'.. id end, },
	{ id = 'P7314',				title = 'TDV İslam Ansiklopedisi',					linkF = function (id)		return 'https://islamansiklopedisi.org.tr/'.. id end, },
	{ id = 'P5395',				title = 'The Canadian Encyclopedia',				linkF = function (id)		return 'https://www.thecanadianencyclopedia.ca/en/article/' .. id .. '/' end	},
	{ id = 'P5357',				title = 'The Encyclopedia of Science Fiction',		linkF = function (id)		return 'http://www.sf-encyclopedia.com/entry/' .. id end	},
	{ id = 'P6404',				title = 'Treccanis Dizionario di Storia',			linkF = function (id)		return 'https://www.treccani.it/enciclopedia/'.. id .. '_(Dizionario-di-Storia)' end, },
	{ id = 'P4223',				title = 'Treccanis Enciclopedia Italiana',			linkF = function (id)		return 'http://www.treccani.it/enciclopedia/' .. id .. '_(Enciclopedia-Italiana)/' end, },
	{ id = 'P4854',				title = 'Uppslagsverket Finland',					linkF = function (id)		return 'https://uppslagsverket.fi/sv/sok/view-170045-'.. id end, },
	{ id = 'P4124',				title = 'Who′s Who in France',						linkF = function (id)		return 'https://www.whoswho.fr/bio/'.. id end, },	
	{ id = 'P9000',				title = 'World History Encyclopedia',				linkF = function (id)		return 'https://www.worldhistory.org/'.. id .. '/' end, },	
}



--- група 12
local dovidkaProperties = {
	{ getLabelWithoutLink( 'Q6373', 'Британський музей' ),								'P1711',	function (id)		return 'https://www.britishmuseum.org/collection/term/BIOG' .. id end,	categoryExternalLink( 'Британський музей' ) },
	{ getLabelWithoutLink( 'Q4157215', 'Діловий Петербург (персоналії)' ),				'P7475',	function (id)		return 'https://whoiswho.dp.ru/cart/person/' .. id end,	categoryExternalLink( 'Діловий Петербург (персоналії)' ) },
	{ getLabelWithoutLink( 'Q4157215', 'Діловий Петербург (підприємства)' ),			'P7529',	function (id)		return 'https://whoiswho.dp.ru/cart/company/' .. id end,	categoryExternalLink( 'Діловий Петербург (підприємства)' ) },
	{ getLabelWithoutLink( 'Q104244355', 'Загальний каталог Diamond' ),					'P8795',	function (id)		return 'https://opac.diamond-ils.org/agent/' .. id end,	categoryExternalLink( 'Загальний каталог Diamond' ) },
	{ getLabelWithoutLink( 'Q110698480', 'История.РФ' ),								'P10479',	function (id)		return 'https://histrf.ru/read/biographies/' .. id end,	categoryExternalLink( 'История.РФ' ) },
	{ getLabelWithoutLink( 'P8385', 'ідентифікатор артиста IDU' ),						'P8385',	function (id)		return 'https://vis.idu.cz/Persons.aspx?personId=' .. id end,	categoryExternalLink( 'ідентифікатор артиста IDU' ) },
	{ getLabelWithoutLink( 'Q64584900', 'Картотека Амбургера' ),						'P6878',	function (id)		return 'https://amburger.ios-regensburg.de/index.php?id=' .. id end,	categoryExternalLink( 'Картотека Амбургера' ) },
	{ getLabelWithoutLink( 'Q62561023', 'Культура.РФ' ),								'P10417',	function (id)		return 'https://www.culture.ru/persons/' .. id end,	categoryExternalLink( 'Культура.РФ' ) },
	{ getLabelWithoutLink( 'Q4256874', 'Лівий берег' ),									'P6980',	function (id)		return 'https://lb.ua/file/' .. id end,	categoryExternalLink( 'Лівий берег' ) },
	{ getLabelWithoutLink( 'P6210', 'Ліга.Досьє' ),										'P6210',	function (id)		return 'https://file.liga.net/' .. id end,	categoryExternalLink( 'Ліга.Досьє' ) },
	{ getLabelWithoutLink( 'Q253988', 'Міжнародна федерація кінопреси' ),				'P8585',	function (id)		return 'https://fipresci.org/people/' .. id end,	categoryExternalLink( 'Міжнародна федерація кінопреси' ) },
	{ getLabelWithoutLink( 'Q674773', 'Музей науки (Лондон)' ),							'P4389',	function (id)		return 'https://collection.sciencemuseum.org.uk/people/' .. id end,	categoryExternalLink( 'Музей науки (Лондон)' ) },
	{ getLabelWithoutLink( 'Q9259', 'Світова спадщина ЮНЕСКО' ),						'P757',		function (id)		return 'https://whc.unesco.org/en/list/' .. id end,	categoryExternalLink( 'Світова спадщина ЮНЕСКО' ) },
	{ getLabelWithoutLink( 'Q20071064', 'Слово і Діло' ),								'P7282',	function (id)		return 'https://www.slovoidilo.ua/persony/' .. id end,	categoryExternalLink( 'Слово і Діло' ) },
	{ getLabelWithoutLink( 'Q65212957', 'Україніка' ),									'P7817',	function (id)		return 'http://irbis-nbuv.gov.ua/ulib/item/' .. id end,	categoryExternalLink( 'Україніка' ) },
	{ getLabelWithoutLink( 'Q59341385', 'Alvin' ),										'P6821',	function (id)		return 'https://www.alvin-portal.org/alvin/view.jsf?pid=' .. id end,	categoryExternalLink( 'Alvin' ) },
	{ getLabelWithoutLink( 'Q781365', 'Australian Broadcasting Corporation' ),			'P9084',	function (id)		return 'https://www.abc.net.au/news/topic/' .. id end,	categoryExternalLink( 'Australian Broadcasting Corporation' ) },
	{ getLabelWithoutLink( 'Q108899911', 'Babesdirectory' ),							'P10155',	function (id)		return 'https://babesdirectory.online/profile/' .. id end,	categoryExternalLink( 'Babesdirectory' ) },
	{ getLabelWithoutLink( 'Q105657727', 'BiographySampo' ),							'P9324',	function (id)		return 'https://biografiasampo.fi/henkilo/' .. id end,	categoryExternalLink( 'BiographySampo' ) },
	{ getLabelWithoutLink( 'Q30049687', 'BlackPast.org' ),								'P6723',	function (id)		return 'https://www.blackpast.org/' .. id .. '/' end,	categoryExternalLink( 'BlackPast.org' ) },
	{ getLabelWithoutLink( 'Q18210437', 'Brilliant.org' ),								'P6564',	function (id)		return 'https://brilliant.org/wiki/' .. id .. '/' end,	categoryExternalLink( 'Brilliant.org' ) },
	{ getLabelWithoutLink( 'Q56317170', 'Collaborative InterLingual Index' ),			'P5063',	function (id)		return 'http://globalwordnet.org/ili/' .. id end,	categoryExternalLink( 'Collaborative InterLingual Index' ) },
	{ getLabelWithoutLink( 'Q54984126', 'Collective Biographies of Women' ),			'P4539',	function (id)		return 'http://cbw.iath.virginia.edu/women_display.php?id=' .. id end,	categoryExternalLink( 'Collective Biographies of Women' ) },
	{ getLabelWithoutLink( 'Q1127581', 'Consortium of European Research Libraries' ),	'P1871',	function (id)		return 'https://data.cerl.org/thesaurus/' .. id end,	categoryExternalLink( 'Consortium of European Research Libraries' ) },
	{ getLabelWithoutLink( 'Q1202222', 'Deutsche Biographie' ),							'P7902',	function (id)		return 'https://www.deutsche-biographie.de/pnd' .. id .. '.html' end,	categoryExternalLink( 'Deutsche Biographie' ) },
	{ getLabelWithoutLink( 'Q79697845', 'dovidka.com.ua' ),								'P7804',	function (id)		return 'http://dovidka.com.ua/user/?code=' .. id end,	categoryExternalLink( 'dovidka.com.ua' ) },
	{ getLabelWithoutLink( 'Q24694883', 'ECARTICO' ),									'P2915',	function (id)		return 'http://www.vondel.humanities.uva.nl/ecartico/persons/' .. id end,	categoryExternalLink( 'ECARTICO' ) },
	{ getLabelWithoutLink( 'Q1326050', 'Electronic Enlightenment' ),					'P3429',	function (id)		return 'http://dx.doi.org/10.13051/ee:bio/' .. id end,	categoryExternalLink( 'Electronic Enlightenment' ) },
	{ getLabelWithoutLink( 'Q3061407', 'Evene' ),										'P5617',	function (id)		return 'http://evene.lefigaro.fr/celebre/biographie/' .. id .. '.php' end,	categoryExternalLink( 'Evene' ) },
	{ getLabelWithoutLink( 'Q61356138', 'FemBio' ),										'P6722',	function (id)		return 'https://www.fembio.org/biographie.php/frau/frauendatenbank?fem_id=' .. id end,	categoryExternalLink( 'FemBio' ) },
	{ getLabelWithoutLink( 'Q19908', 'France Culture' ),								'P5301',	function (id)		return 'https://www.franceculture.fr/' .. id end,	categoryExternalLink( 'France Culture' ) },
	{ getLabelWithoutLink( 'Q369089', 'Google Arts & Culture' ),						'P10297',	function (id)		return 'https://artsandculture.google.com/entity/' .. id end,	categoryExternalLink( 'Google Arts & Culture' ) },
	{ getLabelWithoutLink( 'Q18156042', 'Google Doodle' ),								'P4431',	function (id)		return 'https://www.google.com/doodles/' .. id end,	categoryExternalLink( 'Google Doodle' ) },
	{ getLabelWithoutLink( 'Q64139102', 'KBpedia' ),									'P8408',	function (id)		return 'https://kbpedia.org/knowledge-graph/reference-concept/?uri=' .. id end,	categoryExternalLink( 'KBpedia' ) },
	{ getLabelWithoutLink( 'Q16323066', 'KulturNav' ),									'P1248',	function (id)		return 'https://kulturnav.org/' .. id end,	categoryExternalLink( 'KulturNav' ) },
	{ getLabelWithoutLink( 'Q101343826', 'LIMIS' ),										'P8805',	function (id)		return 'https://www.limis.lt/personaliju-zodynas/-/personFastSearch/view/' .. id end,	categoryExternalLink( 'LIMIS' ) },
	{ getLabelWithoutLink( 'P1284', 'Munzinger IBA' ),									'P1284',	function (id)		return 'https://www.munzinger.de/search/go/document.jsp?id=' .. id end,	categoryExternalLink( 'Munzinger IBA' ) },
	{ getLabelWithoutLink( 'Q2324548', 'National Historical Museums of Sweden' ),		'P9495',	function (id)		return 'https://samlingar.shm.se/person/' .. id end,	categoryExternalLink( 'National Historical Museums of Sweden' ) },
	{ getLabelWithoutLink( 'Q1373513', 'NNDB' ),										'P1263',	function (id)		return 'http://nndb.com/people/' .. id end,										categoryExternalLink( 'NNDB' ) },
	{ getLabelWithoutLink( 'Q41226', 'Open Directory Project' ),						'P998',		function (id)		return 'https://www.curlie.org/' .. id	end,			categoryExternalLink( 'Open Directory Project' ) },
	{ getLabelWithoutLink( 'Q23018437', 'Open Plaques' ),								'P1430',	function (id)		return 'https://openplaques.org/people/' .. id end,	categoryExternalLink( 'Open Plaques' ) },
	{ getLabelWithoutLink( 'Q110087116', 'OpenSanctions' ),								'P10632',	function (id)		return 'https://www.opensanctions.org/entities/' .. id end,	categoryExternalLink( 'OpenSanctions' ) },
	{ getLabelWithoutLink( 'Q60672320', 'Orlando' ),									'P6745',	function (id)		return 'https://orlando.cambridge.org/profiles/' .. id end,	categoryExternalLink( 'Orlando' ) },
	{ getLabelWithoutLink( 'Q105530643', 'People Australia' ),							'P9159',	function (id)		return 'https://peopleaustralia.anu.edu.au/biography/_-' .. id end,	categoryExternalLink( 'People Australia' ) },
	{ getLabelWithoutLink( 'Q29861311', 'SNAC' ),										'P3430',	function (id)		return 'https://snaccooperative.org/ark:/99166/' .. id end,	categoryExternalLink( 'SNAC' ) },
	{ getLabelWithoutLink( 'Q4349956', 'Suomen kansallisbiografia' ),					'P2180',	function (id)		return 'https://kansallisbiografia.fi/kansallisbiografia/henkilo/' .. id end,	categoryExternalLink( 'Suomen kansallisbiografia' ) },
	{ getLabelWithoutLink( 'Q7654799', 'Swedish Open Cultural Heritage' ),				'P1260',	function (id)		return 'http://kulturarvsdata.se/' .. id end,	categoryExternalLink( 'Swedish Open Cultural Heritage' ) },
	{ getLabelWithoutLink( 'Q110979235', 'symogih.org' ),								'P10480',	function (id)		return 'http://www.symogih.org/resource/' .. id end,	categoryExternalLink( 'symogih.org' ) },
	{ getLabelWithoutLink( 'Q2537428', 'TV Tropes' ),									'P6839',	function (id)		return 'https://tvtropes.org/pmwiki/pmwiki.php/' .. id end,	categoryExternalLink( 'TV Tropes' ) },
	{ getLabelWithoutLink( 'Q105358976', 'UK Parliament thesaurus' ),					'P4527',	function (id)		return 'https://lda.data.parliament.uk/terms/' .. id .. '.html' end,	categoryExternalLink( 'UK Parliament thesaurus' ) },
	{ getLabelWithoutLink( 'Q533822', 'WordNet' ),										'P8814',	function (id)		return 'http://wordnet-rdf.princeton.edu/id/' .. id end,	categoryExternalLink( 'WordNet' ) },
	-- міфологія
	{ getLabelWithoutLink( 'Q21139260', 'Gründliches mythologisches Lexicon' ),			'P2272',	function (id)		return 'http://www.zeno.org/Hederich-1770/A/' .. id end,	categoryExternalLink( 'Gründliches mythologisches Lexicon' ) },
	{ getLabelWithoutLink( 'Q107400883', 'MANTO' ),										'P9736',	function (id)		return 'https://resource.manto.unh.edu/' .. id end,	categoryExternalLink( 'MANTO' ) },
	-- нагороди та рейтинги
	{ getLabelWithoutLink( 'Q3892199', 'Герои страны' ),								'P2943',	function (id)		return 'https://www.warheroes.ru/hero/hero.asp?Hero_id=' .. id end,	categoryExternalLink( 'Герои страны' ) },
--	{ getLabelWithoutLink( 'Q19020', 'Оскар' ),											'P6150',	function (id)		return 'https://awardsdatabase.oscars.org/Search/Nominations?nomineeId=' .. id .. '&view=1-Nominee-Alpha' end,	categoryExternalLink( 'Оскар' ) },
	{ getLabelWithoutLink( 'Q48945044', 'Forbes (Росія)' ),								'P9510',	function (id)		return 'https://www.forbes.ru/profile/' .. id end,	categoryExternalLink( 'Forbes (Росія)' ) },
	{ getLabelWithoutLink( 'Q106771968', 'Quirinale.it' ),								'P8793',	function (id)		return 'https://www.quirinale.it/onorificenze/insigniti/' .. id end,	categoryExternalLink( 'Quirinale.it' ) },
	{ getLabelWithoutLink( 'Q23684016', 'NobelPrize.org' ),								'P3360',	function (id)		return 'https://www.nobelprize.org/nomination/archive/show_people.php?id=' .. id end,	categoryExternalLink( 'NobelPrize.org' ) },
	-- теазуруси
	{ getLabelWithoutLink( 'Q16583225', 'Nuovo soggettario' ),							'P508',		function (id)		return 'https://thes.bncf.firenze.sbn.it/termine.php?id=' .. id end,	categoryExternalLink( 'Nuovo soggettario' ) },
	-- Вікідія
	{ getLabelWithoutLink( 'Q79419019', 'Англійська Вікідія' ),							'P7829',	function (id)		return 'http://en.vikidia.org/wiki/' .. id end,	categoryExternalLink( 'Англійська Вікідія' ) },
	{ getLabelWithoutLink( 'Q79419832', 'Баскська Вікідіяя' ),							'P7832',	function (id)		return 'http://eu.vikidia.org/wiki/' .. id end,	categoryExternalLink( 'Баскська Вікідія' ) },
	{ getLabelWithoutLink( 'Q79419837', 'Вірменська Вікідія' ),							'P7841',	function (id)		return 'http://hy.vikidia.org/wiki/' .. id end,	categoryExternalLink( 'Вірменська Вікідія' ) },
	{ getLabelWithoutLink( 'Q79419015', 'Іспанська Вікідія' ),							'P7827',	function (id)		return 'https://es.vikidia.org/wiki/' .. id end,	categoryExternalLink( 'Іспанська Вікідія' ) },
	{ getLabelWithoutLink( 'Q79419017', 'Італійська Вікідія' ),							'P7822',	function (id)		return 'https://it.vikidia.org/wiki/' .. id end,	categoryExternalLink( 'Італійська Вікідія' ) },
	{ getLabelWithoutLink( 'Q79419830', 'Каталанська Вікідія' ),						'P9123',	function (id)		return 'https://ca.vikidia.org/wiki/' .. id end,	categoryExternalLink( 'Каталанська Вікідія' ) },
	{ getLabelWithoutLink( 'Q79419833', 'Німецька Вікідія' ),							'P7843',	function (id)		return 'https://de.vikidia.org/wiki/' .. id end,	categoryExternalLink( 'Німецька Вікідія' ) },
	{ getLabelWithoutLink( 'Q79419012', 'Французька Вікідія' ),							'P7818',	function (id)		return 'https://fr.vikidia.org/wiki/' .. id end,	categoryExternalLink( 'Французька Вікідія' ) },
	-- Вікі-проєкти
	{ getLabelWithoutLink( 'Q17459', 'Fandom' ),										'P6262',	function (id)		return 'https://community.fandom.com/index.php?title=w:c:' .. id end,	categoryExternalLink( 'Fandom' ) },
	{ getLabelWithoutLink( 'Q106513246', 'Fandom wiki' ),								'P4073',	function (id)		return 'https://community.fandom.com/index.php?title=w:c:' .. id end,	categoryExternalLink( 'Fandom wiki' ) },
	{ getLabelWithoutLink( 'Q1531559', 'Global Anabaptist Mennonite Encyclopedia Online' ),'P1842',	function (id)		return 'https://gameo.org/index.php?title=' .. mw.uri.encode(id) end,	categoryExternalLink( 'Global Anabaptist Mennonite Encyclopedia Online' ) },
	{ getLabelWithoutLink( 'Q19832999', 'Namuwiki' ),									'P8885',	function (id)		return 'https://namu.wiki/w/' .. mw.uri.encode(id, 'PATH') end,	categoryExternalLink( 'Namuwiki' ) },
	{ getLabelWithoutLink( 'Q6961180', 'RationalWiki' ),								'P7775',	function (id)		return 'https://rationalwiki.org/wiki/' .. id end,	categoryExternalLink( 'RationalWiki' ) },
	{ getLabelWithoutLink( 'Q18029622', 'Vienna History Wiki' ),						'P7842',	function (id)		return 'https://www.geschichtewiki.wien.gv.at/index.php?curid=' .. id end,	categoryExternalLink( 'Vienna History Wiki' ) },
	{ getLabelWithoutLink( 'Q1307356', 'Salzburgwiki' ),								'P8854',	function (id)		return 'https://www.sn.at/wiki/index.php?curid=' .. id end,	categoryExternalLink( 'Salzburgwiki' ) },
}



--- група 13
local authorityControl = {
	{ getLabelWithLink( 'Q463271', 'American Academy in Rome', 'AAR' ),						'P9097',	function (id)		return 'https://library.aarome.org/cgi-bin/koha/opac-authoritiesdetail.pl?authid=' .. id end,	categoryAuthorityControl( 'AAR' ) },
	{ getLabelWithLink( 'Q89570027', 'Autoritats University of Barcelona', 'Autoritats UB' ),'P1580',	function (id)		return 'https://web.archive.org/web/20211011013405/https://crai.ub.edu/sites/default/files/autoritats/permanent/' .. id end,	categoryAuthorityControl( 'Autoritats UB' ) },
	{ getLabelWithLink( 'Q39628', 'Autoritats University of Barcelona', 'BanQ' ),			'P3280',	function (id)		return 'https://viaf.org/processed/B2Q%7C' .. id end,	categoryAuthorityControl( 'BanQ' ) },
	{ getLabelWithLink( 'Q213678', 'Bibliotheca Apostolica Vaticana', 'BAV'),				'P1017',	function (id)		return 'http://viaf.org/processed/BAV%7C' .. id end,	categoryAuthorityControl( 'BAV' ) },
	{ getLabelWithLink( 'Q4584301', '', 'BIBSYS'),											'P1015', 	function (id)		return 'https://authority.bibsys.no/authority/rest/authorities/html/' .. id end,	categoryAuthorityControl( 'BIBSYS' ) },
	{ getLabelWithLink( 'Q948882', 'National Library of Brazil', 'BLBNB'),					'P4619',	function (id)		return 'http://acervo.bn.br/sophia_web/autoridade/detalhe/' .. id end,	categoryAuthorityControl( 'BLBNB' ) },
	-- тимчасово недоступна
	{ getLabelWithLink( 'Q919757', 'British National Bibliography', 'BNB'),					'P5361',	function (id)		return 'https://web.archive.org/web/20210512231043/https://bnb.data.bl.uk/doc/person/' .. id end,	categoryAuthorityControl( 'BNB' ) },
	{ getLabelWithLink( 'Q1200925', 'Biblioteca de Catalunya', 'BNC'),						'P1273',	function (id)		return 'http://cantic.bnc.cat/registres/CUCId/' .. id end,	categoryAuthorityControl( 'BNC' ) },
	{ getLabelWithLink( 'Q2901485', 'National Library of Chile', 'BNCHL'),					'P7369',	function (id)		return 'http://www.bncatalogo.cl/F/?func=direct&local_base=bnc10&doc_number=' .. id end,	categoryAuthorityControl( 'BNCHL' ) },
	{ getLabelWithLink( 'Q750403', 'Biblioteca Nacional de España', 'BNE'),					'P950', 	function (id)		return 'http://catalogo.bne.es/uhtbin/authoritybrowse.cgi?action=display&authority_id=' .. id end,	categoryAuthorityControl( 'BNE' ) },
	{ getLabelWithLink( 'Q193563', 'Bibliothèque nationale de France', 'BNF'), 				'P268', 	function (id)		return 'http://catalogue.bnf.fr/ark:/12148/cb' .. id end,	categoryAuthorityControl( 'BNF' ) },
--	{ getLabelWithLink( 'Q856651', 'National Library of Luxembourg', 'BNL'), 				'P7028', 	function (id)		return 'https://viaf.org/processed/BNL%7C' .. id end,	categoryAuthorityControl( 'BNL' ) },
	{ getLabelWithLink( 'Q1319177', 'Bilblioteca Nacional Mariano Moreno', 'BNMM'), 		'P3788', 	function (id)		return 'https://catalogo.bn.gov.ar/F/?func=direct&local_base=BNA10&doc_number=' .. id end,	categoryAuthorityControl( 'BNMM' ) },
	{ getLabelWithLink( 'Q1868372', 'Biografisch Portaal', 'BPN'),							'P651',		function (id)		return 'http://www.biografischportaal.nl/persoon/' .. id end,	categoryAuthorityControl( 'BPN' ) },
	{ getLabelWithLink( 'Q9384291', '中国高等教育文献保障系统', 'CALIS'),					'P270', 	function (id)		return 'http://opac.calis.edu.cn/aopac/ajsp/detail.jsp?actionfrom=1&actl=CAL++' .. id	end,	categoryAuthorityControl( 'CALIS' ) },
	{ getLabelWithLink( 'Q8342938', 'Name and Title Authority File of Catalonia', 'CANTIC'),'P9984', 	function (id)		return 'https://cantic.bnc.cat/registre/' .. id	end,	categoryAuthorityControl( 'CANTIC' ) },
	{ getLabelWithLink( 'Q13407958', 'China Biographical Database Project', 'CBDB'),		'P497', 	function (id)		return 'http://db1.ihp.sinica.edu.tw/cbdbc/cbdbkmeng?~~AAA' .. id	end,	categoryAuthorityControl( 'CBDB' ) },
	{ getLabelWithLink( 'Q19896851', 'Collective Catalog of Bibliographic Authorities of Chile', 'CCAB'),'P1890', 	function (id)		return 'http://www.bncatalogo.cl/F/?func=direct&local_base=red10&doc_number=' .. id	end,	categoryAuthorityControl( 'CCAB' ) },
	{ getLabelWithLink( 'Q10726338', 'Citation Information by NII', 'CiNii'),				'P271', 	function (id)		return 'http://ci.nii.ac.jp/author/' .. id	end,	categoryAuthorityControl( 'CiNii' ) },
	{ getLabelWithLink( 'Q101552645', 'CONOR.AL', 'CONOR.AL'), 								'P8848',	function (id)		return 'https://opac.al.cobiss.net/opac7/conor/' .. id	end,	categoryAuthorityControl( 'CONOR.AL' ) },
	{ getLabelWithLink( 'Q101552639', 'CONOR.BG', 'CONOR.BG'), 								'P8849',	function (id)		return 'https://opac.bg.cobiss.net/opac7/conor/' .. id	end,	categoryAuthorityControl( 'CONOR.BG' ) },
	{ getLabelWithLink( 'Q101552644', 'CONOR.KS', 'CONOR.KS'), 								'P8850',	function (id)		return 'https://plus.ks.cobiss.net/opac7/conor/' .. id	end,	categoryAuthorityControl( 'CONOR.KS' ) },
	{ getLabelWithLink( 'Q16744133', 'CONOR.SI', 'CONOR.SI'), 								'P1280',	function (id)		return 'https://plus.si.cobiss.net/opac7/conor/' .. id	end,	categoryAuthorityControl( 'CONOR.SI' ) },
	{ getLabelWithLink( 'Q101552642', 'CONOR.SR', 'CONOR.SR'), 								'P8851',	function (id)		return 'https://plus.sr.cobiss.net/opac7/conor/' .. id	end,	categoryAuthorityControl( 'CONOR.SR' ) },
	{ getLabelWithLink( 'Q20730803', 'Catalogus Professorum Academiae Groninganae ', 'CPAG'),'P2016',	function (id)		return 'http://hoogleraren.ub.rug.nl/hoogleraren/' .. id end,	categoryAuthorityControl( 'CPAG' ) },
	{ getLabelWithLink( 'Q1518320', 'Cyprus University of Technology ', 'CUT'),				'P9251',	function (id)		return 'https://libraryopac.cut.ac.cy/cgi-bin/koha/opac-authoritiesdetail.pl?marc=1&authid=' .. id end,	categoryAuthorityControl( 'CUT' ) },
	{ getLabelWithLink( 'Q12307383', 'Danish Bibliographic Centre ', 'DBC'),				'P3846',	function (id)		return 'https://viaf.org/processed/DBC%7C' .. id end,	categoryAuthorityControl( 'DBC' ) },
	{ getLabelWithLink( 'Q5323129', 'Entertainment Identifier Registry', 'EIDR'),	  	    'P2704',	function (id)		return 'https://ui.eidr.org/view/content?id=' .. id end,	categoryAuthorityControl( 'EIDR' ) },
	{ getLabelWithLink( 'Q501851', 'مكتبة الإسكندرية الجديدة', 'EGAXA'),						   	'P1309', 	egaxaLink,	categoryAuthorityControl( 'EGAXA' ) },
	{ getLabelWithLink( 'Q105754767', 'ERRR', 'ERRR'),										'P6394', 	function (id)		return 'https://viaf.org/processed/ERRR%7C' .. id end,	categoryAuthorityControl( 'ERRR' ) },
	{ getLabelWithLink( 'Q3294867', 'Faceted Application of Subject Terminology', 'FAST'),	'P2163', 	function (id)		return 'http://id.worldcat.org/fast/' .. id end,	categoryAuthorityControl( 'FAST' ) },
	{ getLabelWithLink( 'Q1453477', 'Freebase', 'Freebase'),								'P646', 	function (id)		return 'https://www.google.com/search?kgmid=' .. id end,	categoryAuthorityControl( 'Freebase' ) },
	{ getLabelWithLink( 'Q36578', 'Gemeinsame Normdatei', 'GND'),						   	'P227', 	function (id)		return 'http://d-nb.info/gnd/' .. id	end,	categoryAuthorityControl( 'GND' ) },
	{ getLabelWithLink( 'Q414403', 'Academy of Athens', 'GR-AtACA'),					   	'P10141', 	function (id)		return 'https://opac.academyofathens.gr/cgi-bin/koha/opac-authoritiesdetail.pl?authid=' .. id.. '&marc=1' end,	categoryAuthorityControl( 'GR-AtACA' ) },
	{ getLabelWithLink( 'Q19366588', 'Gemeinsamer Thesaurus für audiovisuelle Archive', 'GTAA'),'P1741', 	function (id)		return 'http://data.beeldengeluid.nl/gtaa/' .. id end, categoryAuthorityControl( 'GTAA' ) },
	{ getLabelWithLink( 'Q19832959', 'GNIS', 'GNIS'),							            'P590', 	function (id)		return 'https://geonames.usgs.gov/apex/f?p=gnispq:3:::NO::P3_FID:' .. id end, categoryAuthorityControl( 'GNIS' ) },
	{ getLabelWithLink( 'Q648625', 'Google Knowledge Graph', 'GKG'),						'P2671', 	function (id)		return 'https://www.google.com/search?kgmid=' .. id end, categoryAuthorityControl( 'GKG' ) },
	{ getLabelWithLink( 'Q515576', 'Keratsini-Drapetsona libraries', 'GR-KtEL'),			'P9337', 	function (id)		return 'https://opac.keratsini-drapetsona.gr/cgi-bin/koha/opac-authoritiesdetail.pl?marc=1&authid=' .. id end, categoryAuthorityControl( 'GR-KtEL' ) },
	{ getLabelWithLink( 'Q3803707', 'Istituto Centrale per il Catalogo Unico', 'ICCU'),		'P396', 	iccuLink,	categoryAuthorityControl( 'ICCU' ) },
	{ getLabelWithLink( 'Q106959111', 'Library of St. Sergius Institute', 'ITO'),			'P10399', 	function (id)		return 'https://catalogue-bibliotheque.saint-serge.net/cgi-bin/koha/opac-authoritiesdetail.pl?marc=1&authid=' .. id end,	categoryAuthorityControl( 'ITO' ) },
	{ getLabelWithLink( 'Q1654582', 'International Standard Audiovisual Number', 'ISAN'),	'P3212',	function (id)		return 'http://www.isan.org/template/1.2/publicSearch.do?code=' .. id end,	categoryAuthorityControl( 'ISAN' ) }, 
	{ getLabelWithLink( 'Q423048', 'International Standard Name Identifier', 'ISNI'),		'P213',		isniLink,	categoryAuthorityControl( 'ISNI' ) },
	{ getLabelWithLink( 'Q105427230', 'biblioteca del Svenska Institutet i Rom', 'ItRSI'),	'P9164',	function (id)		return 'https://biblio.isvroma.it/cgi-bin/koha/opac-authoritiesdetail.pl?marc=1&authid=' .. id end,	categoryAuthorityControl( 'ItRSI' ) },
	{ getLabelWithLink( 'Q188915', 'National Library of Israel', 'J9U'),					'P8189',	function (id)		return 'http://uli.nli.org.il/F/?func=find-b&local_base=NLX10&find_code=UID&request=' .. id end,	categoryAuthorityControl( 'J9U' ) },
	{ getLabelWithLink( 'Q104089764', 'KANTO', 'KANTO'),									'P8980',	function (id)		return 'http://finto.fi/finaf/fi/page/' .. id end,	categoryAuthorityControl( 'KANTO' ) },
	{ getLabelWithLink( 'Q495005', 'National Library of Korea', 'KRNLK'),					'P5034',	function (id)		return 'https://librarian.nl.go.kr/LI/contents/L20101000000.do?id=' .. id end,	categoryAuthorityControl( 'KRNLK' ) },
--	{ getLabelWithLink( 'Q913250', 'Library and Archives Canadaa', 'LAC'),					'P1670',	function (id)		return 'https://collectionscanada.gc.ca/canadiana-authorities/index/view?index_name=cdnAutNbr&search_text=$1&page=1&cdnAutNbr=' .. id end,	categoryAuthorityControl( 'LAC' ) },
	{ getLabelWithLink( 'Q620946', 'Library of Congress Control Number', 'LCCN'),			'P244',		function (id)		return 'http://id.loc.gov/authorities/' .. id	end,	categoryAuthorityControl( 'LCCN' ) },
	{ getLabelWithLink( 'Q953058', 'Kungliga biblioteket', 'LIBRIS'),						'P5587',	function (id)		return 'https://libris.kb.se/' .. id end,	categoryAuthorityControl( 'LIBRIS' ) },
	{ getLabelWithLink( 'Q1635759', 'National Library of Lithuania', 'LIH'),				'P7699',	function (id)		return 'https://wikidata-externalid-url.toolforge.org/?p=7699&url_prefix=https://viaf.org/processed/LIH%7C&id=' .. id end,	categoryAuthorityControl( 'LIH' ) },
	{ getLabelWithLink( 'Q1133733', 'Latvijas Nacionālā bibliotēka', 'LNB'),				'P1368',	function (id)		return 'http://viaf.org/processed/LNB%7CLNC10-' .. id	end,	categoryAuthorityControl( 'LNB' ) },
	{ getLabelWithLink( 'Q2901488', 'Lebanese National Library', 'LNL'),					'P7026',	function (id)		return 'http://viaf.org/processed/LNL%7C' .. id	end,	categoryAuthorityControl( 'LNL' ) },
	{ getLabelWithLink( 'Q105192847', 'MAK', 'MAK'),										'P7293',	function (id)		return 'http://mak.bn.org.pl/cgi-bin/KHW/makwww.exe?BM=1&NU=1&IM=4&WI=' .. id end,	categoryAuthorityControl( 'MAK' ) },
	{ getLabelWithLink( 'Q809830', 'Base Mérimée', 'Mérimée'),								'P380',		merimeeLink,categoryAuthorityControl( 'Mérimée' ) },
	{ getLabelWithLink( 'Q1668196', 'Museo Galileo', 'Museo Galileo'),						'P8947',	function (id)		return 'https://opac.museogalileo.it/imss/authResource?uri=' .. id end,	categoryAuthorityControl( 'Museo Galileo' ) },
	{ getLabelWithLink( 'Q1672830', 'National Library of Ireland', 'N6I'),					'P10227',	function (id)		return 'http://viaf.org/processed/N6I%7C' .. id	end,	categoryAuthorityControl( 'N6IF' ) },
	{ getLabelWithLink( 'Q913250', 'Library and Archives Canada', 'NCF'),					'P8179',	function (id)		return 'https://viaf.org/processed/CAOONL%7C' .. id	end,	categoryAuthorityControl( 'NCF' ) },
	{ getLabelWithLink( 'Q618340', '國家圖書館 (中華民國)', 'NCL'),							'P1048', 	function (id)		return 'http://aleweb.ncl.edu.tw/F/?func=accref&acc_sequence=' .. id	end,	categoryAuthorityControl( 'NCL' ) },
	{ getLabelWithLink( 'Q477675', '国立国会図書館', 'NDL'),								'P349',		function (id)		return 'http://id.ndl.go.jp/auth/ndlna/' .. id	end,	categoryAuthorityControl( 'NDL' ) },
	{ getLabelWithLink( 'Q1967876', 'Národní knihovna České republiky', 'NKC'),				'P691',		function (id)		return 'http://aut.nkp.cz/' .. id	end,	categoryAuthorityControl( 'NKC' ) },
	{ getLabelWithLink( 'Q623578', 'National Library of Australia', 'NLA'), 				'P1315',	function (id)		return 'https://trove.nla.gov.au/people/' .. id end,	categoryAuthorityControl( 'LNA' ) },
	{ getLabelWithLink( 'Q732353', '中国国家图书馆', 'NLC'),								'P1213', 	nlcLink,	categoryAuthorityControl( 'NLC' ) },
	{ getLabelWithLink( 'Q1467610', 'National Library of Greece', 'NLG'),					'P3348',	function(id) return 'https://catalogue.nlg.gr/Authority/Record?id=au.' .. id end, categoryAuthorityControl( 'NLG' ) },
	{ getLabelWithLink( 'Q188915', 'National Library of Israel', 'NLI'), 					'P949',		function (id)		return 'http://uli.nli.org.il/F/?func=direct&local_base=nlx10&doc_number=' .. id end,	categoryAuthorityControl( 'NLI' ) },
	{ getLabelWithLink( 'Q856423', 'Polska Biblioteka Narodowa', 'NLP'), 					'P1695',	nlpLink,	categoryAuthorityControl( 'NLP' ) },
	{ getLabelWithLink( 'Q622012', 'Biblioteca Națională a României', 'NLR'), 				'P1003',	function (id)		return 'http://aleph.bibnat.ro/F/?func=direct&local_base=NLR10&doc_number=' .. id end,	categoryAuthorityControl( 'NLR' ) },
	{ getLabelWithLink( 'Q666063', 'National Library of Wales', 'NLW'), 					'P2966',	function (id)		return 'https://archives.library.wales/index.php/' .. id end,	categoryAuthorityControl( 'NLW' ) },
	{ getLabelWithLink( 'Q631375', 'Nacionalna i sveučilišna knjižnica u Zagrebu', 'NSK'),	'P1375',	function (id)		return 'http://viaf.org/processed/NSK%7C' .. id end,	categoryAuthorityControl( 'NSK' ) },
	{ getLabelWithLink( 'Q1063819', 'Országos Széchényi Könyvtár', 'NSZL'),					'P951',		function (id)		return 'http://viaf.org/processed/NSZL%7C' .. id end,	categoryAuthorityControl( 'NSZL' ) },
	{ getLabelWithLink( 'Q1526131', 'Koninklijke Bibliotheek', 'NTA'),						'P1006',	function (id)		return 'http://opc4.kb.nl/PPN?PPN=' .. id end,	categoryAuthorityControl( 'NTA' ) },
	{ getLabelWithLink( 'Q11789729', 'Narodowy Uniwersalny Katalog Centralny', 'NUKAT'),	'P1207',	function (id)		return 'http://viaf.org/processed/NUKAT%7C' .. id end,	categoryAuthorityControl( 'NUKAT' ) },
	{ getLabelWithLink( 'Q24247813', 'Flemish Public Libraries', 'OpenVlacc'),				'P7024',	function (id)		return 'http://viaf.org/processed/VLACC%7C' .. id end,	categoryAuthorityControl( 'OpenVlacc' ) },
	{ getLabelWithLink( 'Q245966', 'Biblioteca Nacional de Portugal', 'PTBNP'),				'P1005',	function (id)		return 'http://viaf.org/processed/PTBNP%7C' .. id end,	categoryAuthorityControl( 'PTBNP' ) },
	{ getLabelWithLink( 'Q65028852', 'Library of the Pontifical University of the Holy Cross', 'PUSC'),'P5739',	function (id)		return 'https://catalogo.pusc.it/cgi-bin/koha/opac-authoritiesdetail.pl?marc=1&authid=' .. id end,	categoryAuthorityControl( 'PUSC' ) },
	{ getLabelWithLink( 'Q246887', 'Pontifical University of Saint Thomas Aquinas', 'PUST'),'P5731',	function (id)		return 'https://pust.urbe.it/cgi-bin/koha/opac-authoritiesdetail.pl?marc=1&authid=' .. id end,	categoryAuthorityControl( 'PUST' ) },
	{ getLabelWithLink( 'Q3456783', 'Réseau Romand', 'RERO'),								'P3065',	function (id)		return 'http://data.rero.ch/' .. mw.uri.encode(id)	end,	categoryAuthorityControl( 'RERO' ) },
	{ getLabelWithLink( 'Q7386143', 'Répertoire International de Littérature Musicale', 'RILM'),'P9171',	function (id)		return 'https://viaf.org/processed/NYNYRILM%7C' .. id	end,	categoryAuthorityControl( 'RILM' ) },
	{ getLabelWithLink( 'Q2178828', 'Répertoire International des Sources Musicales', 'RISM'),'P5504',	function (id)		return 'https://opac.rism.info/search?id=' .. id	end,	categoryAuthorityControl( 'RISM' ) },
	{ getLabelWithLink( 'Q2310268', 'Rijksmuseum Research Library', 'RRL'),					'P7444',	function (id)		return 'https://library.rijksmuseum.nl/cgi-bin/koha/opac-authoritiesdetail.pl?marc=1&authid=' .. id	end,	categoryAuthorityControl( 'RRL' ) },
	{ getLabelWithLink( 'Q2137453', 'Regensburg Classification', 'RVK'),					'P1150',	function (id)		return 'http://rvk.uni-regensburg.de/regensburger-verbundklassifikation-online#notation/' .. mw.uri.encode(id, 'PATH')	end,	categoryAuthorityControl( 'RVK' ) },
	{ getLabelWithLink( 'Q94994669', 'Schoenberg Database of Manuscripts', 'SDBM'),			'P9756',	function (id)		return 'https://sdbm.library.upenn.edu/names/' .. id	end,	categoryAuthorityControl( 'SDBMK' ) },
	{ getLabelWithLink( 'Q104866947', 'SEARCH on line catalogue', 'SEARCH'),				'P9081',	function (id)		return 'http://www.search-libnet.org/cgi-bin/koha/opac-authoritiesdetail.pl?marc=1&authid=' .. id	end,	categoryAuthorityControl( 'SEARCH' ) },
	{ getLabelWithLink( 'Q953058', 'Kungliga biblioteket', 'SELIBR'),						'P906',		function (id)		return 'http://libris.kb.se/auth/' .. id end,	categoryAuthorityControl( 'SELIBR' ) },
	{ getLabelWithLink( 'Q56557486', 'Scholarly Heritage and Access to Research', 'SHARE'),	'P3987',	function (id)		return 'https://catalogo.share-cat.unina.it/sharecat/searchNames?n_cluster_id=' .. id end,	categoryAuthorityControl( 'SHARE' ) },
	{ getLabelWithLink( 'Q620899', 'Slovenská národná knižnica', 'SKMASNL'),				'P7700',	function (id)		return 'https://viaf.org/processed/SKMASNL%7C' .. id end,	categoryAuthorityControl( 'SKMASNL' ) },
	{ getLabelWithLink( 'Q620899', 'Slovenská národná knižnica', 'SNK'),					'P9807',	function (id)		return 'https://autority.snk.sk/cgi-bin/koha/opac-authoritiesdetail.pl?marc=1&authid=' .. id end,	categoryAuthorityControl( 'SNK' ) },
	{ getLabelWithLink( 'Q2597810', 'Système universitaire de documentation', 'SUDOC'),		'P269',		function (id)		return 'http://www.idref.fr/' .. id end,	categoryAuthorityControl( 'SUDOC' ) },    
	{ getLabelWithLink( 'Q8115944', 'Central Bohemian Research Library', 'SVKKL'),			'P9322',	function (id)		return 'https://ipac.svkkl.cz/arl-kl/cs/detail-kl_us_auth-' .. id end,	categoryAuthorityControl( 'SVKKL' ) },    
	{ getLabelWithLink( 'Q101537013', 'Union Catalog of Armenian Libraries', 'UCAL'),		'P8833',	function (id)		return 'http://armunicat.nla.am/cgi-bin/koha/opac-authoritiesdetail.pl?marc=1&authid=' .. id end,	categoryAuthorityControl( 'UCAL' ) },    
	{ getLabelWithLink( 'Q627423', 'National and University Library of Iceland', 'UIY'),	'P7039',	function (id)		return 'http://viaf.org/processed/UIY%7C' .. id end,	categoryAuthorityControl( 'UIY' ) },
	{ getLabelWithLink( 'Q2494649', 'Union List of Artist Names', 'ULAN' ),					'P245',		function (id)		return 'http://www.getty.edu/vow/ULANFullDisplay?find=&role=&nation=&subjectid=' .. id end,	categoryAuthorityControl( 'ULAN' ) },
	{ getLabelWithLink( 'Q24943845', 'Library of the Pontifical University of Salamanca', 'UPSA'),'P9247',	function (id)		return 'https://koha.upsa.es/cgi-bin/koha/opac-authoritiesdetail.pl?marc=1&authid=' .. id	end,	categoryAuthorityControl( 'UPSA' ) },
	{ getLabelWithLink( 'Q100594815', 'Unione Romana Biblioteche Scientifiche', 'URBS' ),	'P8750',	function (id)		return 'http://koha-urbs.reteurbs.org/cgi-bin/koha/opac-authoritiesdetail.pl?marc=1&authid=' .. id end,	categoryAuthorityControl( 'URBS' ) },
	{ getLabelWithLink( 'Q213678', 'Biblioteca Apostolica Vaticana', 'VcBA' ),				'P8034',	function (id)		return 'https://wikidata-externalid-url.toolforge.org/?p=8034&url_prefix=https://opac.vatlib.it/auth/detail/&id=' .. id end,	categoryAuthorityControl( 'VcBA' ) },
	{ getLabelWithLink( 'Q54919', 'Virtual International Authority File', 'VIAF'),			'P214',		function (id)		return 'http://viaf.org/viaf/' .. id end,	categoryAuthorityControl( 'VIAF' ) },
	{ getLabelWithLink( 'Q76630151', 'WorldCat Identities', 'WorldCat'),					'P7859',	function (id)		return 'https://www.worldcat.org/identities/' .. id end,	categoryAuthorityControl( 'WorldCat' ) },
	{ getLabelWithLink( 'Q1048694', 'Російська державна бібліотека', 'РДБ'),		        'P947', 	function (id)		return 'http://aleph.rsl.ru/F?func=find-b&find_code=SYS&adjacent=Y&local_base=RSL11&request=' .. id end,	categoryAuthorityControl( 'RSL' ) },
	{ getLabelWithLink( 'Q267566', 'Російська національна бібліотека', 'РНБ' ),				'P7029',	function (id)		return 'https://webservices.nlr.ru/semweb/?method=afnlr&query=NLR10::RU%5CNLR%5CAUTH%5C' .. id end,	categoryAuthorityControl( 'РНБ' ) },
}

function getQualifierSingleValue( statement, qualifierName )
	if (statement ~= nil
			and statement.qualifiers ~= nil
			and statement.qualifiers[qualifierName] ~= nil) then

		for qualifierIndex, qualifier in pairs( statement.qualifiers[qualifierName] ) do
			if (qualifier.datavalue ~= nil
					and qualifier.datavalue.type ~= nil
					and qualifier.datavalue.value ~= nil) then

				if ( qualifier.datavalue.type == "monolingualtext" ) then
					return qualifier.datavalue.value.text;
				end
				if ( qualifier.datavalue.type == "string" ) then
					return qualifier.datavalue.value;
				end
				if ( qualifier.datavalue.type == "wikibase-entityid" ) then
					return 'Q' .. qualifier.datavalue.value["numeric-id"];
				end
				mw.log( 'Unknown qualifier type: ' .. qualifier.datavalue.type )
				return qualifier.datavalue.value;

			end
		end

	end
	return nil;
end

function getQualifierValues( statement, qualifierName )
	local result = {}
	if (statement ~= nil
			and statement.qualifiers ~= nil
			and statement.qualifiers[qualifierName] ~= nil) then
		local qualifiers = statement.qualifiers[qualifierName];
		for _, qualifier in pairs( qualifiers ) do
			if (qualifier.datavalue ~= nil
				and qualifier.datavalue.type ~= nil
				and qualifier.datavalue.value ~= nil) then

				if ( qualifier.datavalue.type == "string" ) then
					result[#result+1] = qualifier.datavalue.value;
				elseif ( qualifier.datavalue.type == "wikibase-entityid" ) then
					result[#result+1] = 'Q' .. qualifier.datavalue.value["numeric-id"];
				else 
					mw.log( 'Unknown qualifier type: ' .. qualifier.datavalue.type );
					result[#result+1] = 'Q' .. qualifier.datavalue.value;
				end
			end
		end
	end
	return result;
end

function collectLinks( configuration )

	local moduleLanguages
	if ( mw.title.makeTitle( 'Module', 'Languages' ).exists
			and mw.title.makeTitle( 'Module', 'Languages/data' ).exists
			and mw.title.makeTitle( 'Module', 'Wikidata/Language-codes' ).exists) then
		moduleLanguages = require('Module:Languages');
	else
		moduleLanguages = false;
	end

    --Create rows
    local elements = {}
    local data = {}

    local item = mw.wikibase.getEntity()
    if item == nil or item.claims == nil then
    	return elements
    end

	if ( item.claims['P553'] ~= nil ) then
		local claim = item.claims['P553']
		for _, statement in pairs( claim ) do
			if (statement ~= nil) then
				-- profile ID
				local rank = statement.rank or 'normal';
				if ( rank ~= 'deprecated' ) then
					local itemId = getQualifierSingleValue( statement, 'P554' );
					if (itemId ~= nil) then
						-- language
						local languages = getQualifierValues( statement, 'P407' );
						local resourceId = 'Q' .. statement.mainsnak.datavalue.value['numeric-id']
						if (data[resourceId] == nil) then
							data[resourceId] = {};
						end
						table.insert( data[resourceId], { itemId = itemId, languages = languages, rank = rank} )
					end
				end
			end
		end
	end

    for _, params in pairs( configuration ) do
    	local resourceId = params[2]

   	    local claim = item.claims[ resourceId ]
		if ( claim ) then
			for _, statement in pairs( claim ) do
				local rank = statement.rank or 'normal';
				if ( rank ~= 'deprecated' and statement.mainsnak.datavalue) then
					local itemId = statement.mainsnak.datavalue.value;
					local languages = getQualifierValues( statement, 'P407' );
					if (data[resourceId] == nil) then
						data[resourceId] = {};
					end
					table.insert( data[resourceId], { itemId = itemId, languages = languages, rank = rank} );
				end
			end
		end
    end

	for resourceId, resourceDatas in pairs( data ) do
		data[resourceId] = filterByRank( resourceDatas );
	end

	local hasNonOptionalLinks = false

    for _, params in pairs( configuration ) do
		local resourceLabel = params[1]
		local firstChar = mw.ustring.sub( resourceLabel, 1, 1 );
		local separateDesign = firstChar == '[' or firstChar == '<';

		local resourceId = params[2]
    	local optional = params[5] or false;

		local resourceDatas = data[resourceId];
		if resourceDatas ~= nil then
			if ( not optional ) then
				hasNonOptionalLinks = true
			end

    		local html = '';
			if ( separateDesign ) then
				html = html .. resourceLabel .. ':&nbsp;';
			end
			for index, resourceData in pairs(resourceDatas) do
				local itemId = resourceData.itemId;
				local languages = resourceData.languages;
				local link = params[3] ( itemId );
				local linkFirstChar;
				local interwiki;
				if ( link ) then
					linkFirstChar = mw.ustring.sub( link, 1, 1 );
					interwiki = linkFirstChar == ':'
				end

				if ( separateDesign ) then
					if ( index ~= 1 ) then
						html = html .. ',&nbsp;'
					end
					if ( link ) then
						if ( interwiki ) then
							html = html .. '[[' .. link .. '|' .. itemId .. ']]';
						else
							html = html .. '[' .. link .. ' ' .. itemId .. ']';
						end
					else
						html = html .. itemId;
					end
				else
					if ( index ~= 1 ) then
						html = html .. ' · '
					end
					if ( link ) then
						if ( interwiki ) then
							html = html .. '[[' .. link .. '|' .. resourceLabel .. ']]';
						else
							html = html .. '[' .. link .. ' ' .. resourceLabel .. ']';
						end
					else
						-- it should not happen
						html = html .. resourceLabel .. ':&nbsp;' .. itemId;
					end

					if ( moduleLanguages ) then
						if ( languages ~= nil and #languages > 0 ) then
							for langIndex, language in pairs(languages) do
								html = html .. '&nbsp;' .. moduleLanguages.getRefHtml( language )
							end
						end
					end
				end
			end
			if ( #params >= 4 and params[4] ) then
				html = html .. '[[Category:' .. params[4] .. ']]'
			end
            table.insert( elements, html )
		end
    end

	if ( not hasNonOptionalLinks ) then
		return {}
	end

	return elements
end

function collectDictionaryLinks()
    --Create rows
    local elements = {}

    local item = mw.wikibase.getEntity()
    if ( item == nil or item.claims == nil) then
    	return elements
    end

	local sourceToElementLinks = {};

	local claim = item.claims['P1343']
	if ( claim ) then
		for _, statement in pairs( claim ) do
			if (statement ~= nil) then
				local rank = statement.rank or 'normal';
				if ( rank ~= 'deprecated' ) then
					local resourceId = 'Q' .. statement.mainsnak.datavalue.value['numeric-id']
					local languages = getQualifierValues( statement, 'P407' );
	
					-- Wikisource link ?
					local entityId = getQualifierSingleValue( statement, 'P805' ) or getQualifierSingleValue( statement, 'P248' );
					if ( entityId ) then
						if (sourceToElementLinks[resourceId] == nil) then
							sourceToElementLinks[resourceId] = {};
						end
						table.insert( sourceToElementLinks[resourceId], { entityId = entityId, languages = languages, rank = rank} );
					end
	
					-- URL to encyclopedia
					local url = getQualifierSingleValue( statement, 'P854' );
					if (url ~= nil) then
						if (sourceToElementLinks[resourceId] == nil) then
							sourceToElementLinks[resourceId] = {};
						end
						table.insert( sourceToElementLinks[resourceId], { url = url, languages = languages, rank = rank} );
					end
				end
			end
		end
	end

    for _, description in pairs( dictionaries ) do
 		if ( description.linkF ) then
	   	    local claim = item.claims[ description.id ];
			if ( claim ) then
				for _, statement in pairs( claim ) do
					local rank = statement.rank or 'normal';
					if ( rank ~= 'deprecated' and statement.mainsnak.datavalue) then
						local value = statement.mainsnak.datavalue.value;
						local url = description.linkF( value );
						local languages = getQualifierValues( statement, 'P407' );
						if ( sourceToElementLinks[description.id] == nil) then
							sourceToElementLinks[description.id] = {};
						end
						table.insert( sourceToElementLinks[description.id], { url = url, languages = languages, rank = rank} );
					end
				end
			end
		end
    end

	local html = '';
	for _, description in pairs( dictionaries ) do
		local links = sourceToElementLinks[ description.id ];
		if ( links ) then
			for _, link in pairs( links ) do
				if ( link.url ) then
        			table.insert( elements, '[' .. link.url .. ' ' .. description.title .. ']' )
				end

				if ( link.entityId ) then
				    local entity = mw.wikibase.getEntity( link.entityId );
				    if ( entity and entity.sitelinks and entity.sitelinks[description.project] ) then
        				table.insert( elements, '[[' ..  description.projectCode .. entity.sitelinks[description.project].title .. '|' .. description.title .. ']]' )
				    end
				end
			end
		end
	end

	return elements
end

function contains( tableStructure, value )
	if ( tableStructure == nil or value == nil) then
		return true;
	end
	for index, line in pairs( tableStructure ) do
		if (line == value) then
			return true;
		end
	end
	return false;
end

function filterByRank( resourceDatas )
	-- itemId, languages. rank = rank
	
	local hasPreffered = false;
	for index, resourceData in pairs(resourceDatas) do
		if ( resourceData.rank == 'preferred' ) then
			hasPreffered = true;
		end
	end
	
	if (not hasPreffered) then
		return resourceDatas;
	end

	local result = {};
	for index, resourceData in pairs(resourceDatas) do
		if ( resourceData.rank == 'preferred' or contains(resourceData.languages, preferredLanguage) ) then
      		table.insert(result, resourceData);
		end
	end

	return result;
end

function p.render( frame )
	local colorArg = '#CCF';
	if ( frame ~= nil ) then
	    local parentArgs = frame:getParent().args
	    colorArg = parentArgs[templateColorName] or parentArgs["color"] or parentArgs[1] or '#CCF';
	    local firstChar = mw.ustring.sub( colorArg, 1, 1 );
	    if ( firstChar ~= '#' ) then
	    	local byTemplate = colorByTitle( frame, colorArg );
	    	if ( byTemplate ) then
	    		colorArg = byTemplate;
	    	end
	    end
    end

	local navboxData = {
        name  = 'External links',
        navboxclass = 'navbox ukwikiArticleExternalLinksTable',
        bodyclass = 'hlist',
        groupstyle = 'background: ' .. colorArg .. ';',
    };
   	local rowIndex = 1

	local messagingElements = collectLinks( messagingProperties );
	if ( #messagingElements > 0 ) then
		navboxData['group' .. rowIndex] = group1Label
		navboxData['list' .. rowIndex] = table.concat( messagingElements , ' · ' )
		rowIndex = rowIndex + 1
	end

	local socialNetworksElements = collectLinks( socialNetworkProperties );
	if ( #socialNetworksElements > 0 ) then
		navboxData['group' .. rowIndex] = group2Label
		navboxData['list' .. rowIndex] = table.concat( socialNetworksElements , ' · ' )
		rowIndex = rowIndex + 1
	end

	local contentHostingElements = collectLinks( contentHostingProperties );
	if ( #contentHostingElements > 0 ) then
		navboxData['group' .. rowIndex] = group3Label
		navboxData['list' .. rowIndex] = table.concat( contentHostingElements , ' · ' )
		rowIndex = rowIndex + 1
	end

	local mediaElements = collectLinks( mediaProperties );
	if ( #mediaElements > 0 ) then
		navboxData['group' .. rowIndex] = group4Label
		navboxData['list' .. rowIndex] = table.concat( mediaElements , ' · ' )
		rowIndex = rowIndex + 1
	end

	local geneElements = collectLinks( geneProperties );
	if ( #geneElements > 0 ) then
		navboxData['group' .. rowIndex] = group5Label
		navboxData['list' .. rowIndex] = table.concat( geneElements , ' · ' )
		rowIndex = rowIndex + 1
	end

	local geoElements = collectLinks( geoProperties );
	if ( #geoElements > 0 ) then
		navboxData['group' .. rowIndex] = group6Label
		navboxData['list' .. rowIndex] = table.concat( geoElements , ' · ' )
		rowIndex = rowIndex + 1
	end

	local textsElements = collectLinks( textsProperties );
	if ( #textsElements > 0 ) then
		navboxData['group' .. rowIndex] = group7Label
		navboxData['list' .. rowIndex] = table.concat( textsElements , ' · ' )
		rowIndex = rowIndex + 1
	end

	local scienceElements = collectLinks( scienceProperties );
	if ( #scienceElements > 0 ) then
		navboxData['group' .. rowIndex] = group8Label
		navboxData['list' .. rowIndex] = table.concat( scienceElements , ' · ' )
		rowIndex = rowIndex + 1
	end

	local sportElements = collectLinks( sportProperties );
	if ( #sportElements > 0 ) then
		navboxData['group' .. rowIndex] = group9Label
		navboxData['list' .. rowIndex] = table.concat( sportElements , ' · ' )
		rowIndex = rowIndex + 1
	end

	local themeProfilesElements = collectLinks( themeProfilesProperties );
	if ( #themeProfilesElements > 0 ) then
		navboxData['group' .. rowIndex] = group10Label
		navboxData['list' .. rowIndex] = table.concat( themeProfilesElements , ' · ' )
		rowIndex = rowIndex + 1
	end

	local dictionaryElements = collectDictionaryLinks();
	if ( #dictionaryElements > 0 ) then
		navboxData['group' .. rowIndex] = group11Label
		navboxData['list' .. rowIndex] = table.concat( dictionaryElements , ' · ' )
		rowIndex = rowIndex + 1
	end

	local dovidkaElements = collectLinks( dovidkaProperties );
	if ( #dovidkaElements > 0 ) then
		navboxData['group' .. rowIndex] = group12Label
		navboxData['list' .. rowIndex] = table.concat( dovidkaElements , ' · ' )
		rowIndex = rowIndex + 1
	end

	local authorityControlElements = collectLinks( authorityControl );
	if ( #authorityControlElements > 0 ) then
		navboxData['group' .. rowIndex] = group13Label
		navboxData['list' .. rowIndex] = table.concat( authorityControlElements , ' · ' )
		rowIndex = rowIndex + 1
	end

	if ( rowIndex == 1 ) then
		if ( mw.title.getCurrentTitle().namespace == 0 ) then
			return '[[Category:' .. categoryTemplateEmpty .. ']]'
		end
	else
		navboxData['group1'] = '<div style="padding: 0px 18px 0px 0px; width: 100%;"><div style="float: left; padding-left: 4px;">[[File:Searchtool.svg|14px|' .. templateLink .. ']]</div>&nbsp;&nbsp;' .. navboxData['group1'] .. '</div>'
	end

    local navbox = moduleNavbox._navbox( navboxData )
    return navbox
end

function p.renderDocumentation( )
	local result = ''
	result = result .. '|-\n'
	result = result .. '! colspan=4 | ' .. group1Label .. '\n'
	result = result .. '|-\n'
	result = result .. renderDocumentationCategory( messagingProperties );
	result = result .. '|-\n'
	result = result .. '! colspan=4 | ' .. group2Label .. '\n'
	result = result .. '|-\n'
	result = result .. renderDocumentationCategory( socialNetworkProperties );
	result = result .. '|-\n'
	result = result .. '! colspan=4 | ' .. group3Label .. '\n'
	result = result .. '|-\n'
	result = result .. renderDocumentationCategory( contentHostingProperties );
	result = result .. '|-\n'
	result = result .. '! colspan=4 | ' .. group4Label .. '\n'
	result = result .. '|-\n'
	result = result .. renderDocumentationCategory( mediaProperties );
	result = result .. '|-\n'
	result = result .. '! colspan=4 | ' .. group5Label .. '\n'
	result = result .. '|-\n'
	result = result .. renderDocumentationCategory( geneProperties );
	result = result .. '|-\n'
	result = result .. '! colspan=4 | ' .. group6Label .. '\n'
	result = result .. '|-\n'
	result = result .. renderDocumentationCategory( geoProperties );
	result = result .. '|-\n'
	result = result .. '! colspan=4 | ' .. group7Label .. '\n'
	result = result .. '|-\n'
	result = result .. renderDocumentationCategory( textsProperties );
	result = result .. '|-\n'
	result = result .. '! colspan=4 | ' .. group8Label .. '\n'
	result = result .. '|-\n'
	result = result .. renderDocumentationCategory( scienceProperties );
	result = result .. '|-\n'
	result = result .. '! colspan=4 | ' .. group9Label .. '\n'
	result = result .. '|-\n'
	result = result .. renderDocumentationCategory( sportProperties );
	result = result .. '|-\n'
	result = result .. '! colspan=4 | ' .. group10Label .. '\n'
	result = result .. '|-\n'
	result = result .. renderDocumentationCategory( themeProfilesProperties );
	result = result .. '|-\n'
	result = result .. '! colspan=4 | ' .. group11Label .. '\n'
	result = result .. '|-\n'
	result = result .. renderDocumentationCategory( dictionaryProperties );
	result = result .. '|-\n'
	result = result .. '! colspan=4 | ' .. group12Label .. '\n'
	result = result .. '|-\n'
	result = result .. renderDocumentationCategory( dovidkaProperties );
	result = result .. '|-\n'
	result = result .. '! colspan=4 | ' .. group13Label .. '\n'
	result = result .. '|-\n'
	result = result .. renderDocumentationCategory( authorityControl );
	return result;
end

function renderDocumentationCategory( links )
	local result = ''
	
    for _, params in pairs( links ) do
    	local resourceLabel = params[1]
    	local resourceId = params[2]
    	local category = params[4]
    	local optional
    	if ( params[5] or false ) then
    		optional = 'TRUE'
    	else
    		optional = 'FALSE'
    	end
    	
    	result = result .. '| ' .. resourceLabel .. '\n'
   	    if string.match( resourceId, '^P' ) then
			result = result .. '| [[:d:Property:' .. resourceId .. '|' .. resourceId .. ']]\n'
		elseif string.match( resourceId, '^Q' ) then
			result = result .. '| [[:d:' .. resourceId .. '' .. '|' .. resourceId .. ']]\n'
		else 
			result = result .. '| &nbsp; \n'
		end

		if ( category ~= nil and category ~= false ) then
			result = result .. '| [[:Category:' .. category .. '|' .. category .. ']]\n'
		else
			result = result .. '| &nbsp; \n'
		end
		result = result .. '| ' .. optional .. '\n'
		result = result .. '|-\n'
    end

	return result;
end

return p