Wikipedio iowiki https://io.wikipedia.org/wiki/Frontispico MediaWiki 1.47.0-wmf.18 first-letter Media Specala Debato Uzanto Uzanto Debato Wikipedio Wikipedio Debato Arkivo Arkivo Debato MediaWiki MediaWiki Debato Shablono Shablono Debato Helpo Helpo Debato Kategorio Kategorio Debato TimedText TimedText talk Modulo Modulo-Diskuto Event Event talk 26ma di februaro 0 1775 1131505 1074600 2026-09-03T15:50:57Z Joao Xavier 110 +eventi, naski morti, referi (kompleta revizo til nun) 1131505 wikitext text/x-wiki {{Februaro}} Videz quo ligesas adhike (che utensili). - A pagino di [[yaro]]. La '''26ma di februaro''' esas la 57ma [[dio]] di la yaro segun [[Gregoriala kalendario]]. Restas 308 dii til la fino di la yaro (309 en [[bisextila yaro|bisextila yari]]). ---- ==Dio == ==Eventi == * [[1815]] - [[Napoléon Bonaparte]] fugas del [[insulo Elba]], retroiras a [[Paris]] e fondas itere imperio. Ol duros nur dum [[100 dii]]. * [[1821]] - En [[Rio de Janeiro (urbo)|Rio de Janeiro]], [[Brazilia]], [[Pedro la 1ma di Brazilia e la 4ma di Portugal|Princo Pedro]] juras obediar [[Portugal]]ana [[konstituco]]. * [[1829]] - Germane-naskinta [[Levi Strauss]] ganas [[patento]] por lua laboro-pantalono persistanta. * [[1856]] - En [[Finlando]] uzeskas postomarki unesmafoye. * [[1884]] - [[Unionita Rejio]] e [[Portugal]] paktas pri la teritorii historiale okupita dal Portugalani en [[Afrika]]. Britaniani agnoskas Portugalana suvereneso super la du rivi dil [[fluvio Kongo]], e konvencionas ke Portugal mustas okupar efikive [[Angola]] e [[Mozambik]]. * [[1918]] - [[Hong Kong]], [[fairo en la hipodromo di Felica Valo]] mortigas 610 homi * [[1935]] - En [[Turkia]], jus-elektita nacionala kunveno decidas ke omnu devas havar familiala nomo. * [[1952]] - [[Winston Churchill]] anuncas ke [[Unionita Rejio]] developis lua unesma [[atomobombo]]. * [[1961]] - [[Hassan la 2ma di Maroko|Hassan la 2ma]] divenas rejo di [[Maroko]].<ref>{{Citez jurnalo od edituro|titulo=Hassan II of Morocco Dies at 70; A Monarch Oriented to the West|url=https://web.archive.org/web/20200203195120/https://www.nytimes.com/1999/07/24/world/hassan-ii-of-morocco-dies-at-70-a-monarch-oriented-to-the-west.html|publikigo=The New York Times|idiomo={{en}}|surnomo=Gregory |nomo=Joseph|publikigita ye=24ma di julio 1999|vidita ye=17ma di januaro 2022}}</ref> * [[1984]] - [[Usa]]na naval-infantrio retretas ek [[Beirut]], [[Libano]]. * [[1990]] - [[Sandinisto|Sandinisti]] desvinkas elekti en [[Nikaragua]]. * [[1991]] - [[Saddam Hussein]] anuncas ke Irakana korpi retretos ek [[Kuwait]]. * [[1993]] - En [[New York]], bombal atako che ''[[World Trade Center]]'' mortigas sis homi e vundas plu kam mil plusa homi.<ref>{{Citez jurnalo od edituro‎|url=https://books.google.com/books?id=6W1IdJD3Mv0C|autoro=Barbara A. Nadel|titulo=Building Security: Handbook for Architectural Planning and Design|isbn=978-0-07-150121-7|publikigita ye=27ma di aprilo 2004|editero=McGraw Hill Professional}}</ref> * [[1995]] - La maxim anciena koloko-banko di [[Unionita Rejio]], Barings PLC, bankrotas, pro ke la kurtajero perdis 1,4 miliardi dolari en borso di [[Tokyo]]. * [[2011]] - [[Araba printempo]]: komencas la protesti en [[Oman]] por [[demokratio]] e plusa employi. * [[2012]] - Treno ekreligas en Burlington, [[Ontario]], [[Kanada]], e produktas adminime 3 morti e 45 plusa homi vundita. * [[2015]] - En [[Kabul]], [[Afganistan]] bombo-atako kontre vehilo de [[Turkia]]n [[ambasadeyo]] produktas 2 morti.<ref>{{Extera ligilo|titulo=Atentado contra veículo diplomático turco em Cabul deixa 2 mortos|url=http://noticias.uol.com.br/ultimas-noticias/efe/2015/02/26/atentado-contra-veiculo-diplomatico-turco-em-cabul-deixa-2-mortos.htm|idiomo={{pt}}|vidita ye=26ma di februaro 2015}}</ref> * [[2018]] - Ye 3:45 kloki (lokala horo) [[Ter-tremo]] kun forteso 7,5 che [[skalo di Richter]] frapas [[Papua-Nova-Guinea]].<ref>{{Extera ligilo |url=https://www.reuters.com/article/us-papua-quake/major-quake-cuts-communications-halts-oil-and-gas-operations-in-papua-new-guinea-idUSKCN1G90UR |titulo=Major quake cuts communications, halts oil and gas operations in Papua New Guinea|editero=Reuters|publikigita ye=25ma di februaro 2018|vidita ye=28ma di oktobro 2018}}</ref> Altra sismi sequas, e produktas entote adminime 31 morti, precipue pro [[avalancho|avalanchi]].<ref>{{Extera ligilo|url=https://www.20minutos.es/noticia/3273596/0/terremotos-papua-nueva-guinea-muertos/|titulo=Al menos 31 muertos por varios terremotos en Papúa Nueva Guinea|editero=20 minutos|publikigita ye=27ma di februaro 2018|vidita ye=28ma di februaro 2018}}</ref> * [[2019]] - [[India]]n aer-armeo bombardas supozata entreno-loki di teroristi en Muzaffarabad e Chakothi, an la regiono [[Azad Kashmir]], ed anke en Balakot, omni en [[Pakistan]]. Segun Indiani, l'ataki mortigis cirkume 300 teroristi. * [[2021]] - Usana prezidanto Joe Biden lansas aeral atako kontre [[Siria]]na milici suportita da [[Iran]].<ref>{{Extera ligilo|titulo=Biden: Strikes in Syria sent warning to Iran to ‘be careful’|editero=Associated Press |url=https://apnews.com/article/us-syria-airstrike-kills-1-34b4d7ac56fa8d0d2db8dc2ec8e921d6|publikigita ye=26ma di februaro 2021}}</ref> * 2021 - [[Abubakar Romanovich Vagayev|Abubakar Vagayev]] divenas championo dil [[Absolute Championship Akhmat|ACA]] en kategorio ad 77 kg. * [[2022]] - [[Imran Rizvanovich Bukuyev|Imran Bukuyev]] divenas championo dil [[Absolute Championship Akhmat]] (MMA) en kategorio ad 57 kg. * [[2023]] - Adminime 59 personi mortas kande batelo transportanta plu kam 150 personi de [[Afganistan]], [[Iran]], [[Pakistan]] e [[Siria]] naufrajas proxim Crotone, [[Italia]]. On kredas ke la batelo havis ecesiva pezo.<ref>{{extera ligilo|titulo=Naufrágio próximo à Itália deixa ao menos 59 migrantes mortos; 12 eram crianças|url=https://www1.folha.uol.com.br/mundo/2023/02/naufragio-proximo-a-italia-deixa-mais-de-40-migrantes-mortos.shtml|editero=Folha de S.Paulo|publikigita ye=26ma di februaro 2023|idiomo={{pt}}}}</ref> * [[2025]] - Volker Türk, komisito dil [[Unionita Nacioni]] pri homala yuri kondamnas [[Israel]] por violaco di homala yuri en [[Gaza]]. * [[2026]] - Guvernerio di [[Pakistan]] deklaras milito kontre [[talibano|talibani]] en [[Afganistan]]. ==Naski == * [[1663]] - [[Thomas Newcomen]], Angla injenioro (m. 1729) * [[1715]] - [[Claude Adrien Helvétius]], Franca filozofo e skriptisto (m. 1771) * [[1729]] - [[Anders Chydenius]], Finlandana sacerdoto, filozofo e politikisto (m. 1803) * [[1781]] - [[José María Calatrava]], chefministro di Hispania (m. 1846) * [[1786]] - [[François Arago]], Franca matematikisto, fizikisto, astronomo e politikisto (m. 1853) * [[1802]] - [[Victor Hugo]], Franca skriptisto (m. 1885) * [[1808]] - [[Honoré Daumier]], Franca piktisto (m. 1879) * [[1838]] - [[Bogdan Petriceicu Hasdeu]], Moldovana skriptisto e filologo (m. 1907) * [[1868]] - [[Venceslau Braz]], [[Brazilia]]na prezidanto (m. 1966) * [[1876]] - [[Agustín Pedro Justo]], prezidanto di Arjentinia (m. 1943)<ref>{{Extera ligilo|editero=Britannica.com |url=https://www.britannica.com/biography/Agustin-Pedro-Justo|titulo=Agustín Pedro Justo{{!}} president of Argentina|vidita ye=12ma di oktobro 2018}}</ref> * [[1885]] - [[José da Riva Agüero e Osuna]], skriptisto e politikisto, prezidanto di Peru (m. 1944) * [[1898]] - [[Vicente Aleixandre]], Hispana skriptisto, Nobel-laureato pri literaturo (m. 1984) * [[1903]] - [[Giulio Natta]], Italiana kemiisto, Nobel-laureato (m. 1979) * [[1909]] - Rejulo [[Talal de Jordania]] (m. 1972) * [[1914]] - [[Antonio Cardile]], Italiana piktisto e skultisto (m. 1986) * [[1920]] - [[Hilmar Baunsgaard]], chefministro di Dania (m. 1989) * [[1924]] - [[Noboru Takeshita]], chefministro di Japonia (m. 2000) * [[1928]] - [[Ariel Sharon]], chefministro di Israel (m. 2014) * 1928 - [[Fats Domino]], Usana muzikisto, kantisto e kompozisto (m. 2017) * 1928 - [[Jože Tisnikar]], Sloveniana piktisto (m. 1998) * [[1932]] - [[Johnny Cash]], Usana kantisto, kompozisto e muzikisto (m. 2003) * [[1935]] - [[Artur Rasizade]], chefministro di Azerbaijan * [[1943]] - [[Kazimira Prunskienė]], chefministro di Lituania * [[1945]] - [[Namhain Cend-Ayuush]], Mongoliana boxisto * [[1946]] - [[Ahmed Zewail]], Egiptiana skriptisto, Nobel-laureato * [[1950]] - [[Helen Clark]], chefministro di Nova-Zelando * [[1959]] - [[Ahmet Davutoğlu]], chefministro di Turkia * [[1953]] - [[Michael Bolton]], Usana kantisto * [[1954]] - [[Recep Tayyip Erdoğan]], chefministro di Turkia * 1954 - [[Stina Ekblad]], Finlandan aktorino * [[1958]] - [[Michel Houellebecq]], Franca skriptisto * [[1961]] - [[Monika Fagerholm]], Finlandana skriptistino * [[1971]] - [[Erykah Badu]], Usana kantistino * [[1998]] - [[Makenna Jones]], Usana tenisistino * [[2001]] - [[Jamie Leweling]], Germana futbalisto * [[2004]] - [[Bïbisara Erxanqızı Asawbayeva|Bïbisara Asawbayeva]], Kazakstanana shakoludistino ==Morti == * [[1770]] - [[Giuseppe Tartini]], Italiana kompozisto (n. 1692) * [[1839]] - [[Sybil Ludington]], heroino dil Usana nedependo-milito (n. 1761) * [[1883]] - [[Alexandros Kumunduros]], chefministro di Grekia (n. 1817) * [[1912]] - [[Bernardino Caballero]], prezidanto di Paraguay (n. 1839) * [[1931]] - [[Otto Wallach]], Germana kemiisto, Nobel-laureato (n. 1847) * [[1936]] - [[Saitō Makoto]], chefministro di Japonia (n. 1858) * 1936 - [[Takahashi Korekiyo]], chefministro di Japonia (n. 1854) * [[1940]] - [[Michael Hainisch]], prezidanto di Austria (n. 1858) * [[1952]] - [[Theodoros Pangalos]], chefministro di Grekia (n. 1878) * [[1961]] - Rejulo [[Mohammed la 5ma di Maroko]] (n. 1909) * [[1966]] - [[Emiliano Chamorro Vargas]], prezidanto di Nikaragua (n. 1871) * [[1969]] - [[Levi Eshkol]], chefministro di Israel (n. 1895) * 1969 - [[Karl Jaspers]], Germana psikiatriisto (n. 1883) * [[1971]] - [[Fernandel]], Franc aktoro (n. 1903) * [[1980]] - [[Alexander Brook]], Usana piktisto ed arto-kritikisto (n. 1898) * [[1985]] - [[Tjalling Koopmans]], Nederlandana ekonomikistulo, Nobel-laureato (n. 1910) * [[1998]] - [[Theodore Schultz]], Usan ekonomikistulo, Nobel-laureato (n. 1902) * [[2002]] - [[Lawrence Tierney]], Usan aktoro (n. 1919) * [[2004]] - [[Boris Trajkovski]], prezidanto di Norda Macedonia (n. 1956) * [[2021]] - [[Michael Somare]], chefministro di Papua-Nova-Guinea (n. 1936) * [[2025]] - [[Gene Hackman]], Usan aktoro (n. 1930)<ref>{{citez jurnalo od edituro|url=https://variety.com/2025/film/news/gene-hackman-death-suspicious-gas-leak-search-warrant-1236322610/|titulo=Gene Hackman and Wife's Death Ruled 'Suspicious' in Search Warrant: 'No Obvious Signs of a Gas Leak' and 'Thorough Investigation' Required|surnomo=Moreau|nomo=Jordan|publikigita ye=27ma di februaro 2025|vidita ye=27ma di februaro 2025|idiomo={{en}}|editero=Variety}}</ref> * 2025 - [[Michelle Trachtenberg]], Usan aktorino (n. 1985) ==Referi == {{reflist}} [[Kategorio:Dio di yaro]] [[Kategorio:Februaro]] o4qa4w0f1a5wci4w9vbo5pr2kw8nut1 121 aK 0 5550 1131510 829364 2026-09-03T20:56:00Z Joao Xavier 110 +evento 1131510 wikitext text/x-wiki {{2ma yarcento aK}} La yaro '''121 aK''' esas [[yaro]] ante l'adopto di [[Juliala kalendario]]. Lor ol konocesis kom '''yaro di la konsuleso di Opimius e Allobrogicus''' (o min ofte '''yaro 633 ''Ab urbe condita''''') e la '''duesma yaro di Yuanshou'''. La nomo ''121 aK'' uzesas por ca yaro de la komenco di [[Mezepoko]], kande ''Anno Domini'' divenis la precipua formo uzata en [[Europa]] por nomar yari. == Eventi == ===[[Romana republiko]]=== * [[Romana senato]] aprobas propozo qua Romana konsulo Lucius Opimius interpretas kom donacanta a lu senlimita povi. Ilu juntas armeo kun altra senatani por konfrontar [[Gaius Gracchus]]. Eventas batalio en [[Roma]] qua rezultas la morto di Gracchus. == Naski == == Morti == * [[Gaius Gracchus]], Romana politikisto (n. 154 aK) [[Kategorio:Yari 120a aK]] im23ms972fwrfso6dw1z2x07u68la66 123 aK 0 5552 1131511 829368 2026-09-03T21:00:34Z Joao Xavier 110 +texto 1131511 wikitext text/x-wiki {{2ma yarcento aK}} La yaro '''123 aK''' esas [[yaro]] ante l'adopto di [[Juliala kalendario]]. Lor ol konocesis kom '''yaro di la konsuleso di Balearicus e Flamininus''' (o min ofte '''yaro 631 ''Ab urbe condita''''') e la '''6ma yaro di Yuanshuo'''. La nomo ''123 aK'' uzesas por ca yaro de la komenco di [[Mezepoko]], kande ''Anno Domini'' divenis la precipua formo uzata en [[Europa]] por nomar yari. == Eventi == ===[[Romana republiko]]=== * [[Gaius Gracchus]] elektesas kom Romana tribuno unesmafoye. * [[Aix-en-Provence]] fondesas sub la nomo di ''Aquae Sextiae'' dal [[Roma]]na konsulo di [[Sextius Calvinus]]. == Naski == == Morti == [[Kategorio:Yari 120a aK]] 24ec8pyj2o8t7nneyikt0mb2x9toio7 Hesia 0 18583 1131504 1072045 2026-09-03T13:12:38Z Dr. Thomas Liptak 44888 /* Ekonomio */ photo updated 1131504 wikitext text/x-wiki {{Provinci stati kantoni | OficalaNomo = Hesia<br>(''Hessen'') | Flago = Flag of Hesse.svg | Blazono = Coat of arms of Hesse.svg | Imajo = Wiesbaden Landtag Hessen im Stadtschloß Wiesbaden am Schloßplatz - Foto Wolfgang Pehlemann Wiesbaden DSCN1417.jpg | TextodilImajo = Parlamento di Hesia | TipoSubdividuro = [[Stati di Germania|Stato]] | Lando = {{DEU}} | Chefurbo = [[Wiesbaden]] | MaximGrandaUrbo = [[Frankfurt am Main]] | TituloGuvernisto = Ministro-prezidanto | Guvernisto = Boris Rhein <small>(CDU)</small> | Surfaco = {{formatnum:21114.73}} | Habitanti = {{Formatnum:6391360}} | Yaro = 2022 | Denseso di habitantaro= 300 | Horo = +1:00<br><small>(UTC+2:00 dum somero)</small> | Internet = https://hessen.de/ | TNP = 323,25 miliard [[Euro|€]] (2022) | Mapo = Locator map Hesse in Germany.svg }} '''Hesia''' esas [[Germania|Germana]] [[Stati di Germania|stato]], jacanta sude de la lando. Ol esas vicino di [[Rhenlando-Palatenio]], [[Bavaria]], [[Turingia]], [[Nordrheno-Vestfalia]], [[Badenia-Wurtemberg]] e [[Infra-Saxonia]]. '''Bazala fakti pri Hesse.''' ==Historio== La regiono di Hesia ja habitesis de [[Paleolitiko]]. Danko a favorebla klimato, populi ja vivis ibe cirkum 50,000 yari ante num, dum lasta glacial epoko. [[Arkivo:GunkelHermannsschlacht.jpg|left|thumb|320px|[[batalio di Teutoburg]]]] Segun funera restaji trovita en Glauberg, [[Kelti]] vivis en la regiono cirkum 500 yari aK. [[Roman imperio|Romani]] havis militala bazo en Dorlar, ed en Wetzlar existis Romana urbeto. Probable Romani abandonis l'urbeto cirkum la yaro [[9]], pos devastanta [[batalio di Teutoburg|batalio en la foresto di Teutoburg]]. Dum [[mezepoko]], la regiono apartenis a la Franki, qui havis un ''Gau'' (provinco) en la regiono. En la [[12ma yarcento]] la regiono apartenis a [[Turingia]]. Pos [[milito pri sucedo en Turingia]] (1247-1264) Hesia divenis nedependanta, kom landgravo di [[Santa Romana Imperio]]. Sub regno da Philipp la 1ma di Hesia, un ek la chefi di Germana [[protestantismo]], la regiono divenis importanta. Pos sua morto en 1567, la regiono subdividesis en 4 princii: Hesia-Kassel, Hesia-Darmstadt, Hesia-Rheinfels e Hesia-Marburg. Pos ke la heredo-lineo di la lasta du extingesis (en 1583 e 1605, rispektive), Hesia-Kassel e Hesia-Darmstadt divenis la precipua stati en l'olima teritorio di Hesia. Dum la fino di la [[16ma yarcento]], Kassel adoptis [[kalvinismo]]. En 1789 komencis [[Franca revoluciono]], ed en 1794 [[Unesma Franca republiko|Franca republiko]] okupis l'estala rivo di Rheno. En 1801, per tale nomizita "paco di Lunéville", [[Franz la 1ma di Austria|Franciskus la 2ma]], imperiestro di [[Santa Romana imperio]], agnoskis l'anexo di la regiono. Segun decido konocata kom ''Reichsdeputationshauptschluss'', qua aprobesis en 1803, la strukturo politikala e geografiala di la regiono modifikesis, e diversa exklavi di [[Mainz]] desaparis. En 1806, Hesia-Darmstadt, princio Isenburg (olim dukio) ed altra teritorii divenis fondinta membri di [[Rhenana kunfederuro]], kreita da [[Napoléon Bonaparte]]. Hesia-Darmstadt expansis ed enkorpigis diversa mikra teritorii e pose transformesis da Napoléon en grandadukio ([[grandadukio Hesia]]). En agosto 1806, Santa Romana imperio dissolvesis, e l'elektala privileji di Hesia-Kassel perdis signifiko. En 1866, dum la [[milito Austria-Prusia]], Hesia e vicina stati federis kun [[Austria-Hungaria]], e vinkesis dum la kampanio di Main. Pos vinkir la milito, [[Prusia]] anexis Elekterala Hesia, [[Frankfurt]], Hesia-Homburg, Nassau e mikra parti di [[Bavaria]] e grandaduko Hesia, qui unionesis por formacar provinco Hesia-Nassau. Grandadukio Hesia restis partale autonoma, tamen la cetera teritorio enkorpigesis a la Norda-Germana kunfederuro. En 1871, pos la [[Milito Franca-Prusiana]] la tota grandadukio unionesis a Germana imperio. Proxim la komenco dil 20ma yarcento, [[Darmstadt]] esis un ek la centri di artala movado ''[[Jugendstil]]''. Pos ke [[Germana imperio]] vinkesis en l'[[unesma mondomilito]] la lando transformis su en [[republiko]] e kreesis Popula Stato Hesia. ==Geografio== [[Arkivo:Wasserkuppe_von_Süden.jpg|thumb|280px|left|''Wasserkuppe'' vidita desude dum vintro.]] La stato havas diversa montoza regioni, exemple Rhön, Taunus, Upland Vogelsberg, e Hoher Meißner. La maxim alta monto dil stato esas Wasserkuppe, kun 950 matri di [[altitudo]], en Rhön-monti. La maxim importanta aquoflui la regiono esas Fulda ed Eder norde, Lahn centre del stato, e [[rivero Main|Main]] e [[Rheno]] sude. Dum 107 kilometri, Rheno formacas naturala frontiero kun [[Rhenlando-Palatenio]]. [[Rivero Neckar]] formacas naturala frontiero kun [[Badenia-Wurtemberg]], kontre ke riveri Werra e Weser formacas estala frontiero. En Hesia existas poka naturala lagi. La maxim importanta artificala lago esas Edersee, kun 11,8 km², kreita per la konstrukto de 1908 til 1914 di [[aquobarilo]] alonge rivero Eder, por produktar elektro. La maxim multa habitanti di Hesia vivas sude de la regiono. Lua maxim gand urbi esas [[Frankfurt am Main]], [[Wiesbaden]], [[Kassel]], [[Darmstadt]], [[Offenbach]], Hanau, Gießen, [[Wetzlar]] e [[Limburg an der Lahn]], che [[metropolala regiono Frankfurt-Rheno]], [[Fulda]] este, e [[Kassel]] e [[Marburg]] an la nordo. ==Ekonomio== [[Arkivo:Frankfurt am Main, Central business district (2024).jpg|thumb|280px|[[Frankfurt am Main]].]] Hesia havas un ek la maxim granda e maxim richa [[ekonomio|ekonomii]] de Germania. Hesia, se nedependanta, havus la 38ma maxim granda ekonomio del mondo. Kemiala e farmaciala industrii, exemple Sanofi-Aventis, Merck KGaA, Heraeus, Messer Griesheim e Degussa, esas la precipua de la stato. En la mekanika sektoro remarkesas la fabrikerio di [[Opel]] en Rüsselsheim. [[Frankfurt am Main]] esas importanta [[financo|financala centro]]. La sideyi di Europana Centrala Banko e di ''Deutsche Bundesbank'' jacas ibe. ==Kulturo== En [[2013]] 67% de la habitantaro di Hesia esis [[kristanismo|kristani]], di qui 40% esis [[protestantismo|protestanta]] e 25% [[katolikismo|katolika]]. Sen religio esis 26%, e 4% esis [[islamo|mohamedani]]. ==Referi== {{commons|Hessen}} {{reflist}} [[Kategorio:Hesia| ]] 2giaiswppaingsja34ogld68frh7vq1 Modulo:TableTools 828 42131 1131503 947360 2026-09-03T12:55:41Z Hamish 28210 Update from [[d:Special:GoToLinkedPage/enwiki/Q15408619|master]] using [[mw:Synchronizer| #Synchronizer]] 1131503 Scribunto text/plain ------------------------------------------------------------------------------------ -- TableTools -- -- -- -- This module includes a number of functions for dealing with Lua tables. -- -- It is a meta-module, meant to be called from other Lua modules, and should not -- -- be called directly from #invoke. -- ------------------------------------------------------------------------------------ local libraryUtil = require('libraryUtil') local p = {} -- Define often-used variables and functions. local floor = math.floor local infinity = math.huge local checkType = libraryUtil.checkType local checkTypeMulti = libraryUtil.checkTypeMulti ------------------------------------------------------------------------------------ -- isPositiveInteger -- -- This function returns true if the given value is a positive integer, and false -- if not. Although it doesn't operate on tables, it is included here as it is -- useful for determining whether a given table key is in the array part or the -- hash part of a table. ------------------------------------------------------------------------------------ function p.isPositiveInteger(v) return type(v) == 'number' and v >= 1 and floor(v) == v and v < infinity end ------------------------------------------------------------------------------------ -- isNan -- -- This function returns true if the given number is a NaN value, and false if -- not. Although it doesn't operate on tables, it is included here as it is useful -- for determining whether a value can be a valid table key. Lua will generate an -- error if a NaN is used as a table key. ------------------------------------------------------------------------------------ function p.isNan(v) return type(v) == 'number' and v ~= v end ------------------------------------------------------------------------------------ -- shallowClone -- -- This returns a clone of a table. The value returned is a new table, but all -- subtables and functions are shared. Metamethods are respected, but the returned -- table will have no metatable of its own. ------------------------------------------------------------------------------------ function p.shallowClone(t) checkType('shallowClone', 1, t, 'table') local ret = {} for k, v in pairs(t) do ret[k] = v end return ret end ------------------------------------------------------------------------------------ -- removeDuplicates -- -- This removes duplicate values from an array. Non-positive-integer keys are -- ignored. The earliest value is kept, and all subsequent duplicate values are -- removed, but otherwise the array order is unchanged. ------------------------------------------------------------------------------------ function p.removeDuplicates(arr) checkType('removeDuplicates', 1, arr, 'table') local isNan = p.isNan local ret, exists = {}, {} for _, v in ipairs(arr) do if isNan(v) then -- NaNs can't be table keys, and they are also unique, so we don't need to check existence. ret[#ret + 1] = v elseif not exists[v] then ret[#ret + 1] = v exists[v] = true end end return ret end ------------------------------------------------------------------------------------ -- numKeys -- -- This takes a table and returns an array containing the numbers of any numerical -- keys that have non-nil values, sorted in numerical order. ------------------------------------------------------------------------------------ function p.numKeys(t) checkType('numKeys', 1, t, 'table') local isPositiveInteger = p.isPositiveInteger local nums = {} for k in pairs(t) do if isPositiveInteger(k) then nums[#nums + 1] = k end end table.sort(nums) return nums end ------------------------------------------------------------------------------------ -- affixNums -- -- This takes a table and returns an array containing the numbers of keys with the -- specified prefix and suffix. For example, for the table -- {a1 = 'foo', a3 = 'bar', a6 = 'baz'} and the prefix "a", affixNums will return -- {1, 3, 6}. ------------------------------------------------------------------------------------ function p.affixNums(t, prefix, suffix) checkType('affixNums', 1, t, 'table') checkType('affixNums', 2, prefix, 'string', true) checkType('affixNums', 3, suffix, 'string', true) local function cleanPattern(s) -- Cleans a pattern so that the magic characters ()%.[]*+-?^$ are interpreted literally. return s:gsub('([%(%)%%%.%[%]%*%+%-%?%^%$])', '%%%1') end prefix = prefix or '' suffix = suffix or '' prefix = cleanPattern(prefix) suffix = cleanPattern(suffix) local pattern = '^' .. prefix .. '([1-9]%d*)' .. suffix .. '$' local nums = {} for k in pairs(t) do if type(k) == 'string' then local num = mw.ustring.match(k, pattern) if num then nums[#nums + 1] = tonumber(num) end end end table.sort(nums) return nums end ------------------------------------------------------------------------------------ -- numData -- -- Given a table with keys like {"foo1", "bar1", "foo2", "baz2"}, returns a table -- of subtables in the format -- {[1] = {foo = 'text', bar = 'text'}, [2] = {foo = 'text', baz = 'text'}}. -- Keys that don't end with an integer are stored in a subtable named "other". The -- compress option compresses the table so that it can be iterated over with -- ipairs. ------------------------------------------------------------------------------------ function p.numData(t, compress) checkType('numData', 1, t, 'table') checkType('numData', 2, compress, 'boolean', true) local ret = {} for k, v in pairs(t) do local prefix, num = mw.ustring.match(tostring(k), '^([^0-9]*)([1-9][0-9]*)$') if num then num = tonumber(num) local subtable = ret[num] or {} if prefix == '' then -- Positional parameters match the blank string; put them at the start of the subtable instead. prefix = 1 end subtable[prefix] = v ret[num] = subtable else local subtable = ret.other or {} subtable[k] = v ret.other = subtable end end if compress then local other = ret.other ret = p.compressSparseArray(ret) ret.other = other end return ret end ------------------------------------------------------------------------------------ -- compressSparseArray -- -- This takes an array with one or more nil values, and removes the nil values -- while preserving the order, so that the array can be safely traversed with -- ipairs. ------------------------------------------------------------------------------------ function p.compressSparseArray(t) checkType('compressSparseArray', 1, t, 'table') local ret = {} local nums = p.numKeys(t) for _, num in ipairs(nums) do ret[#ret + 1] = t[num] end return ret end ------------------------------------------------------------------------------------ -- sparseIpairs -- -- This is an iterator for sparse arrays. It can be used like ipairs, but can -- handle nil values. ------------------------------------------------------------------------------------ function p.sparseIpairs(t) checkType('sparseIpairs', 1, t, 'table') local nums = p.numKeys(t) local i = 0 local lim = #nums return function () i = i + 1 if i <= lim then local key = nums[i] return key, t[key] else return nil, nil end end end ------------------------------------------------------------------------------------ -- size -- -- This returns the size of a key/value pair table. It will also work on arrays, -- but for arrays it is more efficient to use the # operator. ------------------------------------------------------------------------------------ function p.size(t) checkType('size', 1, t, 'table') local i = 0 for _ in pairs(t) do i = i + 1 end return i end local function defaultKeySort(item1, item2) -- "number" < "string", so numbers will be sorted before strings. local type1, type2 = type(item1), type(item2) if type1 ~= type2 then return type1 < type2 elseif type1 == 'table' or type1 == 'boolean' or type1 == 'function' then return tostring(item1) < tostring(item2) else return item1 < item2 end end ------------------------------------------------------------------------------------ -- keysToList -- -- Returns an array of the keys in a table, sorted using either a default -- comparison function or a custom keySort function. ------------------------------------------------------------------------------------ function p.keysToList(t, keySort, checked) if not checked then checkType('keysToList', 1, t, 'table') checkTypeMulti('keysToList', 2, keySort, {'function', 'boolean', 'nil'}) end local arr = {} local index = 1 for k in pairs(t) do arr[index] = k index = index + 1 end if keySort ~= false then keySort = type(keySort) == 'function' and keySort or defaultKeySort table.sort(arr, keySort) end return arr end ------------------------------------------------------------------------------------ -- sortedPairs -- -- Iterates through a table, with the keys sorted using the keysToList function. -- If there are only numerical keys, sparseIpairs is probably more efficient. ------------------------------------------------------------------------------------ function p.sortedPairs(t, keySort) checkType('sortedPairs', 1, t, 'table') checkType('sortedPairs', 2, keySort, 'function', true) local arr = p.keysToList(t, keySort, true) local i = 0 return function () i = i + 1 local key = arr[i] if key ~= nil then return key, t[key] else return nil, nil end end end ------------------------------------------------------------------------------------ -- isArray -- -- Returns true if the given value is a table and all keys are consecutive -- integers starting at 1. ------------------------------------------------------------------------------------ function p.isArray(v) if type(v) ~= 'table' then return false end local i = 0 for _ in pairs(v) do i = i + 1 if v[i] == nil then return false end end return true end ------------------------------------------------------------------------------------ -- isArrayLike -- -- Returns true if the given value is iterable and all keys are consecutive -- integers starting at 1. ------------------------------------------------------------------------------------ function p.isArrayLike(v) if not pcall(pairs, v) then return false end local i = 0 for _ in pairs(v) do i = i + 1 if v[i] == nil then return false end end return true end ------------------------------------------------------------------------------------ -- invert -- -- Transposes the keys and values in an array. For example, {"a", "b", "c"} -> -- {a = 1, b = 2, c = 3}. Duplicates are not supported (result values refer to -- the index of the last duplicate) and NaN values are ignored. ------------------------------------------------------------------------------------ function p.invert(arr) checkType("invert", 1, arr, "table") local isNan = p.isNan local map = {} for i, v in ipairs(arr) do if not isNan(v) then map[v] = i end end return map end ------------------------------------------------------------------------------------ -- listToSet -- -- Creates a set from the array part of the table. Indexing the set by any of the -- values of the array returns true. For example, {"a", "b", "c"} -> -- {a = true, b = true, c = true}. NaN values are ignored as Lua considers them -- never equal to any value (including other NaNs or even themselves). ------------------------------------------------------------------------------------ function p.listToSet(arr) checkType("listToSet", 1, arr, "table") local isNan = p.isNan local set = {} for _, v in ipairs(arr) do if not isNan(v) then set[v] = true end end return set end ------------------------------------------------------------------------------------ -- deepCopy -- -- Recursive deep copy function. Preserves identities of subtables. ------------------------------------------------------------------------------------ local function _deepCopy(orig, includeMetatable, already_seen) if type(orig) ~= "table" then return orig end -- already_seen stores copies of tables indexed by the original table. local copy = already_seen[orig] if copy ~= nil then return copy end copy = {} already_seen[orig] = copy -- memoize before any recursion, to avoid infinite loops for orig_key, orig_value in pairs(orig) do copy[_deepCopy(orig_key, includeMetatable, already_seen)] = _deepCopy(orig_value, includeMetatable, already_seen) end if includeMetatable then local mt = getmetatable(orig) if mt ~= nil then setmetatable(copy, _deepCopy(mt, true, already_seen)) end end return copy end function p.deepCopy(orig, noMetatable, already_seen) checkType("deepCopy", 3, already_seen, "table", true) return _deepCopy(orig, not noMetatable, already_seen or {}) end ------------------------------------------------------------------------------------ -- sparseConcat -- -- Concatenates all values in the table that are indexed by a number, in order. -- sparseConcat{a, nil, c, d} => "acd" -- sparseConcat{nil, b, c, d} => "bcd" ------------------------------------------------------------------------------------ function p.sparseConcat(t, sep, i, j) local arr = {} local arr_i = 0 for _, v in p.sparseIpairs(t) do arr_i = arr_i + 1 arr[arr_i] = v end return table.concat(arr, sep, i, j) end ------------------------------------------------------------------------------------ -- length -- -- Finds the length of an array, or of a quasi-array with keys such as "data1", -- "data2", etc., using an exponential search algorithm. It is similar to the -- operator #, but may return a different value when there are gaps in the array -- portion of the table. Intended to be used on data loaded with mw.loadData. For -- other tables, use #. -- Note: #frame.args in frame object always be set to 0, regardless of the number -- of unnamed template parameters, so use this function for frame.args. ------------------------------------------------------------------------------------ function p.length(t, prefix) -- requiring module inline so that [[Module:Exponential search]] which is -- only needed by this one function doesn't get millions of transclusions local expSearch = require("Module:Exponential search") checkType('length', 1, t, 'table') checkType('length', 2, prefix, 'string', true) return expSearch(function (i) local key if prefix then key = prefix .. tostring(i) else key = i end return t[key] ~= nil end) or 0 end ------------------------------------------------------------------------------------ -- inArray -- -- Returns true if searchElement is a member of the array, and false otherwise. -- Equivalent to JavaScript array.includes(searchElement) or -- array.includes(searchElement, fromIndex), except fromIndex is 1 indexed ------------------------------------------------------------------------------------ function p.inArray(array, searchElement, fromIndex) checkType("inArray", 1, array, "table") -- if searchElement is nil, error? fromIndex = tonumber(fromIndex) if fromIndex then if (fromIndex < 0) then fromIndex = #array + fromIndex + 1 end if fromIndex < 1 then fromIndex = 1 end for _, v in ipairs({unpack(array, fromIndex)}) do if v == searchElement then return true end end else for _, v in pairs(array) do if v == searchElement then return true end end end return false end ------------------------------------------------------------------------------------ -- merge -- -- Given the arrays, returns an array containing the elements of each input array -- in sequence. ------------------------------------------------------------------------------------ function p.merge(...) local arrays = {...} local ret = {} for i, arr in ipairs(arrays) do checkType('merge', i, arr, 'table') for _, v in ipairs(arr) do ret[#ret + 1] = v end end return ret end ------------------------------------------------------------------------------------ -- extend -- -- Extends the first array in place by appending all elements from the second -- array. ------------------------------------------------------------------------------------ function p.extend(arr1, arr2) checkType('extend', 1, arr1, 'table') checkType('extend', 2, arr2, 'table') for _, v in ipairs(arr2) do arr1[#arr1 + 1] = v end end return p 4n03zk6kcoeg4gz82mieeh94c1szcjy Georg Lurich 0 120650 1131506 2026-09-03T20:09:30Z Idisto 28999 Pagino kreesis kun '[[File:Lurich 1Nude.jpg|eta|Georg Lurich posturas sur post-karto (ck.) 1912]] '''Georg Lurich''' (n. [[Väike-Maarja]], stato-distrikto Viru, [[Rusian Imperio]] (nun [[stato-distrikto Lääne-Viru]], [[Estonia]]), la [[22ma di aprilo]] [[1876]] – m. [[Armavir (Rusia)|Armavir]], [[Soviet-Uniono|Sovyet-Uniono]], la [[20ma di januaro]] [[1920]]) esis [[Estonia|Estoniana]] [[greko-romaniana lukto|greko-romaniana luktisto]] e forto de la frua 20ma yarcento. Lurich anke exe...' 1131506 wikitext text/x-wiki [[File:Lurich 1Nude.jpg|eta|Georg Lurich posturas sur post-karto (ck.) 1912]] '''Georg Lurich''' (n. [[Väike-Maarja]], stato-distrikto Viru, [[Rusian Imperio]] (nun [[stato-distrikto Lääne-Viru]], [[Estonia]]), la [[22ma di aprilo]] [[1876]] – m. [[Armavir (Rusia)|Armavir]], [[Soviet-Uniono|Sovyet-Uniono]], la [[20ma di januaro]] [[1920]]) esis [[Estonia|Estoniana]] [[greko-romaniana lukto|greko-romaniana luktisto]] e forto de la frua 20ma yarcento. Lurich anke exercigis Estoniana [[lukto|luktisto]] [[Georg Hackenschmidt]] e [[pezolevo|pezolevisto]] Aleksander Berg. {{DEFAULTSORT:Lurich, Georg}} [[Kategorio:Luktisti]] [[Kategorio:Estoniani]] 5m9wemleoyd495mwb23d0ct218mgggw 1131507 1131506 2026-09-03T20:14:51Z Idisto 28999 1131507 wikitext text/x-wiki [[File:Lurich 1Nude.jpg|eta|Georg Lurich posturas sur post-karto (ck.) 1912]] '''Georg Lurich''' (n. [[Väike-Maarja]], stato-distrikto Viru, [[Rusian Imperio]] (nun [[stato-distrikto Lääne-Viru]], [[Estonia]]), la [[22ma di aprilo]] [[1876]] – m. [[Armavir (Rusia)|Armavir]], [[Soviet-Uniono|Sovyet-Uniono]], la [[20ma di januaro]] [[1920]]) esis [[Estonia|Estoniana]] [[greko-romaniana lukto|greko-romaniana luktisto]] e forto de la frua 20ma yarcento. Lurich anke exercigis Estoniana [[lukto|luktisto]] [[Georg Hackenschmidt]] e [[pezolevo|pezolevisto]] Aleksander Berg. {{DEFAULTSORT:Lurich, Georg}} [[Kategorio:Luktisti]] [[Kategorio:Estoniana luktisti]] oiryqzkfexvkzcxltkpbagw3wri6q50 1131509 1131507 2026-09-03T20:47:34Z Idisto 28999 1131509 wikitext text/x-wiki [[File:Lurich 1Nude.jpg|eta|Georg Lurich posturas sur post-karto (ck.) 1912]] '''Georg Lurich''', nasko-nomo '''Georg Luri''' (n. [[Väike-Maarja]], stato-distrikto Viru, [[Rusian Imperio]] (nun [[stato-distrikto Lääne-Viru]], [[Estonia]]), la [[22ma di aprilo]] [[1876]] – m. [[Armavir (Rusia)|Armavir]], [[Soviet-Uniono|Sovyet-Uniono]], la [[20ma di januaro]] [[1920]]) esis [[Estonia|Estoniana]] [[greko-romaniana lukto|greko-romaniana luktisto]] e forto de la frua 20ma yarcento. Lurich anke exercigis Estoniana [[lukto|luktisto]] [[Georg Hackenschmidt]] e [[pezolevo|pezolevisto]] Aleksander Berg. Il esis tre populara en Estonia. {{DEFAULTSORT:Lurich, Georg}} [[Kategorio:Luktisti]] [[Kategorio:Estoniana luktisti]] 04j4jkyfa4vxi3b6i6x5qi526x6j41x Kategorio:Estoniana luktisti 14 120651 1131508 2026-09-03T20:16:03Z Idisto 28999 Pagino kreesis kun '[[Kategorio:Estoniani|luktisti]] [[Kategorio:Luktisti]]' 1131508 wikitext text/x-wiki [[Kategorio:Estoniani|luktisti]] [[Kategorio:Luktisti]] qp8q6k26sanzb9058zuam0qfdekjpti Modulo:Exponential search 828 120652 1131512 2026-09-03T22:13:21Z Hamish 28210 [IPE-NEXT] Quick edit imported from [[:w:en:Module:Exponential search]] 1131512 Scribunto text/plain -- This module provides a generic exponential search algorithm. require[[strict]] local checkType = require('libraryUtil').checkType local floor = math.floor local function midPoint(lower, upper) return floor(lower + (upper - lower) / 2) end local function search(testFunc, i, lower, upper) if testFunc(i) then if i + 1 == upper then return i end lower = i if upper then i = midPoint(lower, upper) else i = i * 2 end return search(testFunc, i, lower, upper) else upper = i i = midPoint(lower, upper) return search(testFunc, i, lower, upper) end end return function (testFunc, init) checkType('Exponential search', 1, testFunc, 'function') checkType('Exponential search', 2, init, 'number', true) if init and (init < 1 or init ~= floor(init) or init == math.huge) then error(string.format( "invalid init value '%s' detected in argument #2 to " .. "'Exponential search' (init value must be a positive integer)", tostring(init) ), 2) end init = init or 2 if not testFunc(1) then return nil end return search(testFunc, init, 1, nil) end jqqi8l27tb73lglksbukg2g3bzt3fmv