Wikipedysta:Persino/Gadget-StronicowyParser.js/StronaSubst.js

Uwaga: aby zobaczyć zmiany po opublikowaniu, może zajść potrzeba wyczyszczenia pamięci podręcznej przeglądarki.

  • Firefox / Safari: Przytrzymaj Shift podczas klikania Odśwież bieżącą stronę, lub naciśnij klawisze Ctrl+F5, lub Ctrl+R (⌘-R na komputerze Mac)
  • Google Chrome: Naciśnij Ctrl-Shift-R (⌘-Shift-R na komputerze Mac)
  • Internet Explorer / Edge: Przytrzymaj Ctrl, jednocześnie klikając Odśwież, lub naciśnij klawisze Ctrl+F5
  • Opera: Naciśnij klawisze Ctrl+F5.
mw.loader.using('ext.gadget.gConfig', function(){
let globalne_zmienne=this;
StronicowyParser.WyswietlStronyKsiazki=async function(){
	await StronicowyParser.muteks.zablokuj();
	let stronasubst_latex=undefined;
	let stronasubst_mathml=undefined;
	let stronasubst_opakuj_kategorie_ze_sortowaniem=undefined;
	let stronasubst_ukrywaj_toc=undefined;
	let stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach=undefined;
	let stronasubst_aktualizowanie_nazw_artykulow=undefined;
	let stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami=undefined;
	let stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika=undefined;
	let stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej=undefined;
	let stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule=undefined;
	let stronasubst_nie_usuwaj_styli=undefined;
	let stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst=undefined;
	if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){
  		mw.messages.set({
			'StronaSubst-name': 'Strona zbiorcza',
			'StronaSubst-description-page': 'Wikibooks:StronicowyParser/StronaSubst',
			'StronaSubst-latex': 'Zamiast wzorów, wstaw tekst latexowy, w przeciwnym przypadku jest w formie LaTeX.',
			'StronaSubst-mathml': 'Zamiast wzorów latexowych, wstaw je w formie znaczników MathML.',
			'StronaSubst-opakuj_kategorie_ze_sortowaniem' : 'W stronach zbiorczych opakowuje kategorie, w postaci ramki, dla każdego artykułu z osobna.',
			'StronaSubst-ukrywaj_toc' : "Ukrywa, począwszy od jakiegoś poziomu wszystkich tam spisów treści, na stronach zbiorczych.",
			'StronaSubst-dymki_nad_linkami_w_ladowanych_dynamicznie_stronach' : "Włącza dymki, nad linkami, w ładowanych dynamicznie stronach, tworząc je inteligentnymi.",
			'StronaSubst-aktualizowanie_nazw_artykulow' : 'Aktualizuje na podstawie strony głównej nazwy tylko artykułów.',
			'StronaSubst-aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami' : "Aktualizuje sekcje poszczegónych rozdziałów artykułów ładowanych rozdziałami, domyślnie według sekcji w tych jednostkach.",
			'StronaSubst-aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika' : 'Aktualizuje, sekcje artykułów ładowanych rozdziałami, na podstawie strony głównej książki, a nie jego artykułów.',
			'StronaSubst-aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej' : 'Aktualizuje nagłówki strony głównej podręcznika na stronie zbiorczej.',
			'StronaSubst-aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule' : 'Aktualizuje, brakujące sekcje rozdziałów ładowanych rozdziałami artykułów, według wpisów na stronie głównej, na stronie zbiorczej.',
			'StronaSubst-nie_usuwaj_styli' : 'Nie usuwa styli z nagłówków ładowanych stron.',
			'StronaSubst-rozwijaj_szablony_oznaczone_szablonem_szablonsubst' : 'Rozwijaj szablony oznaczone szablonem SzablonSubst.',
		});
		gConfig.register('StronaSubst', {name: mw.msg('StronaSubst-name'), descriptionPage: mw.msg('StronaSubst-description-page')}, [
			{
				name: 'latex',
				desc: mw.msg('StronaSubst-latex'),
				type: 'boolean',
				deflt: false,
		    	legacy: [window, 'wb_stronasubst_latex']
			},
			{
				name: 'mathml',
				desc: mw.msg('StronaSubst-mathml'),
				type: 'boolean',
				deflt: true,
				legacy: [window, 'wb_stronasubst_mathml']
			},
			{
				name: 'opakuj_kategorie_ze_sortowaniem',
				desc: mw.msg('StronaSubst-opakuj_kategorie_ze_sortowaniem'),
				type: 'boolean',
				deflt: false,
				legacy: [window, 'wb_stronasubst_opakuj_kategorie_ze_sortowaniem']
			},
			{
				name: 'ukrywaj_toc',
				desc: mw.msg('StronaSubst-ukrywaj_toc'),
				type: 'integer',
				deflt: 0,
				validation: function(n){ if((n<0)||(n==1)){ throw 'Wartość dotycząca poziomu ukrywania spisów treści jest nieprawidłowa!' }; return n; },
				legacy: [window, 'wb_stronasubst_ukrywaj_toc']
			},
			{
				name: 'dymki_nad_linkami_w_ladowanych_dynamicznie_stronach',
				desc: mw.msg('StronaSubst-dymki_nad_linkami_w_ladowanych_dynamicznie_stronach'),
				type: 'boolean',
				deflt: true,
				legacy: [window, 'wb_stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach']
			},	
			{
				name: 'aktualizowanie_nazw_artykulow',
				desc: mw.msg('StronaSubst-aktualizowanie_nazw_artykulow'),
				type: 'boolean',
				deflt: true,
				legacy: [window, 'wb_stronasubst_aktualizowanie_nazw_artykulow']
			},
			{
				name: 'aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami',
				desc: mw.msg('StronaSubst-aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami'),
				type: 'boolean',
				deflt: true,
				legacy: [window, 'wb_stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami']
			},
			{
				name: 'aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika',
				desc: mw.msg('StronaSubst-aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika'),
				type: 'boolean',
				deflt: true,	
				legacy: [window, 'wb_stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika']
			},
			{
				name: 'aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej',
				desc: mw.msg('StronaSubst-aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej'),
				type: 'boolean',
				deflt: true,
				legacy: [window, 'wb_stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej']
			},
			{
				name: 'aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule',
				desc: mw.msg('StronaSubst-aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule'),
				type: 'boolean',
				deflt: true,
				legacy: [window, 'wb_stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule']
			},
			{
				name: 'nie_usuwaj_styli',
				desc: mw.msg('StronaSubst-nie_usuwaj_styli'),
				type: 'boolean',
				deflt: true,
				legacy: [window, 'wb_stronasubst_nie_usuwaj_styli']
			},
			{
				name: 'rozwijaj_szablony_oznaczone_szablonem_szablonsubst',
				desc: mw.msg('StronaSubst-rozwijaj_szablony_oznaczone_szablonem_szablonsubst'),
				type: 'boolean',
				deflt: true,
				legacy: [window, 'wb_stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst']
			},			
		]);
		stronasubst_latex = (gConfig.get('StronaSubst', 'latex')==true);
		stronasubst_mathml = (((gConfig.get('StronaSubst', 'mathml'))&&(!stronasubst_latex))==true);
		stronasubst_opakuj_kategorie_ze_sortowaniem = (gConfig.get('StronaSubst', 'opakuj_kategorie_ze_sortowaniem')==true);
		stronasubst_ukrywaj_toc = gConfig.get('StronaSubst', 'ukrywaj_toc');
		stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach = gConfig.get('StronaSubst', 'dymki_nad_linkami_w_ladowanych_dynamicznie_stronach');
		stronasubst_aktualizowanie_nazw_artykulow = (gConfig.get('StronaSubst', 'aktualizowanie_nazw_artykulow')==true);
		stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami = (gConfig.get('StronaSubst', 'aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami')==true);
    	stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika = (gConfig.get('StronaSubst','aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika')==true);
    	stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej = (gConfig.get('StronaSubst','aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej')==true);
    	stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule = (gConfig.get('StronaSubst','aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule')==true);
    	stronasubst_nie_usuwaj_styli = (gConfig.get('StronaSubst','nie_usuwaj_styli')==true);
    	stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst = (gConfig.get('StronaSubst','rozwijaj_szablony_oznaczone_szablonem_szablonsubst')==true);
	}
	
	//let podglad=document.querySelector('body:not(.action)');
	//if(podglad){return;}
	
	let stronasubst_tablica_tych_samych=new Array();
	let stronasubst_tablica_rozdzialow=new Array();
	let stronasubst_tablica_alternatywnych_nazw=new Array();
	
	stronasubst_latex=((stronasubst_latex!==undefined)?stronasubst_latex:false);
	stronasubst_mathml=((stronasubst_mathml!==undefined)?stronasubst_mathml:true);
	stronasubst_opakuj_kategorie_ze_sortowaniem=((stronasubst_opakuj_kategorie_ze_sortowaniem!==undefined)?stronasubst_opakuj_kategorie_ze_sortowaniem:false);
	
	stronasubst_ukrywaj_toc=parseInt(((stronasubst_ukrywaj_toc!==undefined)?stronasubst_ukrywaj_toc:0));
	stronasubst_ukrywaj_toc=((!isNaN(stronasubst_ukrywaj_toc))?stronasubst_ukrywaj_toc:0);
	
	stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach=((stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach!==undefined)?stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach:true);
		
	stronasubst_aktualizowanie_nazw_artykulow=((stronasubst_aktualizowanie_nazw_artykulow!==undefined)?stronasubst_aktualizowanie_nazw_artykulow:true);	
	
	stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami=((stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami!==undefined)?stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami:true);
		
	stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika=((stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika!==undefined)?stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika:true);
		
	stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej=((stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej!==undefined)?stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej:true);
	
	stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule=((stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule!==undefined)?stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule:true);
	
	stronasubst_nie_usuwaj_styli=((stronasubst_nie_usuwaj_styli!==undefined)?stronasubst_nie_usuwaj_styli:true);
	
	stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst=((stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst!==undefined)?stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst:true);
	
	async function AnalizujDalejSzablonSubst(element_strony,tab_promise2){
		await StronicowyParser.muteks.zablokuj();
		let rozdzial_ksiazki="rozdział_książki";
		let el=$(element_strony).find('.rodzic_szablon_subst_js.szablon_subst_js_zaanalizowany, .szablon_subst_js.szablon_subst_js_zaanalizowany');
		if((el!==null)&&(el.length>0)){
			for(let i=0;i<el.length;++i){
				let element_el=el[i];
				let ksiazka=element_el.querySelector("."+rozdzial_ksiazki);
				if(ksiazka){
					let nazwa_strony=element_el.getAttribute('nazwa_strony');
					if(tab_promise2){tab_promise2.wygeneruj(1);}
					CzyStronaSubst(element_el,nazwa_strony,tab_promise2);
				}
			}
		}
		StronicowyParser.muteks.odblokuj();
		if(tab_promise2){tab_promise2.zwolnij();}
	}
	
	async function WikikodTitle(data,tabs,titles,tabstrona,stronasubst_latex,stronasubst_mathml,tab_promise2){
		await StronicowyParser.muteks.zablokuj();
		let title=data.parse.title;
		let wikikod=data.parse.text['*'];
        let strona_hash;

    	let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod);
    	let t=tab_uzyskane[0];
		if(t==undefined){
			console.log("Nie wykryto znacznika lsth_\d+.");
				StronicowyParser.muteks.odblokuj();
				if(tab_promise2){tab_promise2.zwolnij();}
				return;
		}
		strona_hash=titles[t];
		let selflink=document.createElement('div');
        selflink.innerHTML=wikikod;
        let czy_selflink=selflink.getElementsByClassName('selflink');
        if((czy_selflink!==null)&&(czy_selflink.length==1)){
        	let elements=tabstrona[strona_hash];
        	let a=document.createElement('a');/*Tworzenie linku*/
        	a.setAttribute('href',StronicowyParser.kodowanie.EncodeHtml(title));
        	a.innerHTML=strona_hash;

        	let span=document.createElement('span');
        	span.appendChild(a);
        	span.setAttribute("class","niw link");/*Dodawanie klasy, by inny skript JS to przeanalizował jako link*/
        	if((StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuElementuInfo)&&(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach)){
        		StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuElementuInfo(span);
        	}
        	for(let q in elements){
        		let element=elements[q];
        		element.innerHTML="";
        		element.appendChild(span);
        		
        		$(element).wrap(function(){return "<strong></strong>";});
        		let przed=document.createTextNode("{{:");
				let po=document.createTextNode("}}");
				element.insertBefore(przed,element.firstChild);
				element.appendChild(po);
        	
        		element.style.display="block";
				let parent=element.parentNode;
				if((parent!==null)&&(parent.tagName.toUpperCase()=="DIV")){
					parent.style.display="block";
				}
        	
        		let pasek=element.parentNode.querySelector('.postęp_ładowania_artykułu');
				if(pasek!==null){
					element.parentNode.removeChild(pasek);
				}
        	}
        	StronicowyParser.muteks.odblokuj();
			if(tab_promise2){tab_promise2.zwolnij();}
        	return;
        }
		wikikod=tab_uzyskane[1].innerHTML;
				
		let elements=tabstrona[strona_hash];
		for(let q in elements){
			let element=elements[q];
			element.innerHTML=wikikod;
			StronicowyParser.ZamienLinkiNaLinkiDoStronyAktualnej(element,title,titles);
		}
		StronicowyParser.AktualizujSpisTresciModuluStrony(elements,tabs,strona_hash,stronasubst_tablica_alternatywnych_nazw,stronasubst_tablica_tych_samych,stronasubst_tablica_rozdzialow,true,stronasubst_latex,stronasubst_mathml)
		let strona_start=$(elements[0]).parents(".strona_start");
		let rodzic=undefined;
		if((strona_start!==null)&&(strona_start.length>0)){
        	rodzic=strona_start[0];
		}
		StronicowyParser.IndeksujHeadLine(rodzic);
		StronicowyParser.PrzeIndeksujWszystkieTOC(rodzic,true);
			
		for(let q in elements){
			let element=elements[q];
			async function ElementDalszychObliczen(element,tab_promise2){
				await StronicowyParser.muteks.zablokuj(true);
				StronicowyParser.PoprawRozdzialyStron(element);
			
			
				if((StronicowyParser.numerowanie)&&(StronicowyParser.numerowanie.NumerujRozdzialyPoSciagnieciuArtykulu)){
					if(tab_promise2){tab_promise2.wygeneruj(1);}
					StronicowyParser.numerowanie.NumerujRozdzialyPoSciagnieciuArtykulu(element,tab_promise2);//Funkcja jako gadżet do numerowania rozdziałów.
				}
				if((StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo)&&(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach)){
					if(tab_promise2){tab_promise2.wygeneruj(1);}
					StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(element,tab_promise2).then((result) => {}).catch((error) => {});
				}
				if((StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo)&&(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach)){
					if(tab_promise2){tab_promise2.wygeneruj(1);}
					StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(element,tab_promise2).then((result) => {}).catch((error) => {});
				}
			
				element.style.display="block";
				let parent=element.parentNode;
				if((parent!==null)&&(parent.tagName.toUpperCase()=="DIV")){
					parent.style.display="block";
				}
			
				let pasek=element.parentNode.querySelector('.postęp_ładowania_artykułu');
				if(pasek!==null){
					element.parentNode.removeChild(pasek);
				}
				if(StronicowyParser.TrybCiemnyIJasny){
					if(tab_promise2){tab_promise2.wygeneruj(1);}
					StronicowyParser.TrybCiemnyIJasny(element,tab_promise2);
				}
				if((StronicowyParser.szablony&&StronicowyParser.szablony.LadujSzablon)&&(stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst)){
					let tab_promise=new StronicowyParser.GenerowaneObiekty(1);
					StronicowyParser.szablony.LadujSzablon(element,title,titles,undefined,tab_promise).then((result) => {}).catch((error) => {});
					if(tab_promise2){tab_promise2.wygeneruj(1);tab_promise2.wygeneruj(1);}
					StronicowyParser.CzekajNaZakaczenie(tab_promise,tab_promise2).then(()=>{
						if(tab_promise2){tab_promise2.wygeneruj(1);}
						AnalizujDalejSzablonSubst(element,tab_promise2);
						if(tab_promise2){tab_promise2.zwolnij();}
					}).catch(()=>{if(tab_promise2){tab_promise2.zwolnij();}});
					
				}
				StronicowyParser.ZmieniajNazwyLinkowNaLinkiPodrecznika(element);
				
				StronicowyParser.muteks.odblokuj();
				if(tab_promise2){tab_promise2.zwolnij();}
			}
			if(tab_promise2){tab_promise2.wygeneruj(1);}
			ElementDalszychObliczen(element,tab_promise2);
		}
	    StronicowyParser.muteks.odblokuj();
		if(tab_promise2){tab_promise2.zwolnij();}
	}
	async function StronaSubst(element_strony,wikikod,aktualna_strona,tab_promise2){
		await StronicowyParser.muteks.zablokuj();
		StronicowyParser.NaprawNaglowkiStrony(element_strony,true);
		let czy_wikikod=wikikod.match(/^[_\s]*$/g);
		
		let strona_start=$('#mw-content-text .mw-parser-output .strona_start');
		
		function CzyWszystkieNaglowkiWewnatrzStronaStart(){
			let pole=$('#mw-content-text .mw-parser-output').find('h1,h2,h3,h4,h5,h6');
			for(let i=0;i<pole.length;++i){
				let s=strona_start.find(pole[i]);
				if((s===null)||(s.length==0)){
					return false;
				}
			}
			return true;
		}
		if(czy_wikikod){
			
			StronicowyParser.muteks.odblokuj();
			
			let tab_promise=new StronicowyParser.GenerowaneObiekty();
			if((StronicowyParser.numerowanie)&&(StronicowyParser.numerowanie.NumerujRozdzialyArtykulu)){
				tab_promise.wygeneruj(1);
				StronicowyParser.numerowanie.NumerujRozdzialyArtykulu(tab_promise).then((result) => {}).catch((error) => {});//Funkcja jako gadżet do numerowania rozdziałów.
			}
			let czy_numerowac=StronicowyParser.CzyWlaczycSideBarTOC(undefined,true);

			if(czy_numerowac){
				czy_numerowac=false;
				tab_promise.wygeneruj(1);
				StronicowyParser.api.ZadaniaApi({
					action: 'expandtemplates',
					format: 'json',
					prop: 'wikitext',
					title: StronicowyParser.pageinfo.fullname,
					text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+StronicowyParser.pageinfo.fullname+'}}',
					smaxage: 600,
					maxage: 600,
				}).then(async function(data){
						let wikikod=data.expandtemplates.wikitext;
						let czy_wikikod=/^[_\s]*$/g.test(wikikod);
						if(!czy_wikikod){
							czy_numerowac=true;
						}
						tab_promise.zwolnij();
				}).catch(()=>{tab_promise.zwolnij();});
			}
			
			if(tab_promise2){tab_promise2.wygeneruj(1);tab_promise2.wygeneruj(1);}
			StronicowyParser.CzekajNaZakaczenie(tab_promise,tab_promise2).then(async()=>{
			
		    	let tab_promise=new StronicowyParser.GenerowaneObiekty(1);
		    
		    	StronicowyParser.LimitTOC(czy_numerowac,stronasubst_ukrywaj_toc);
			
				StronicowyParser.szablony.LadujSzablon(null,null,null,czy_numerowac,tab_promise);
			
				StronicowyParser.ZmieniajNazwyLinkowNaLinkiPodrecznika();
				tab_promise.wygeneruj(1);
				StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(element_strony,tab_promise);
				tab_promise.wygeneruj(1)
				StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(element_strony,tab_promise);
			
			
				if(tab_promise2){tab_promise2.wygeneruj(1);tab_promise2.wygeneruj(1);}
				StronicowyParser.CzekajNaZakaczenie(tab_promise,tab_promise2).then(async()=>{
					if(CzyWszystkieNaglowkiWewnatrzStronaStart()){
						if((strona_start!==null)&&(strona_start.length>0)){
							StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(strona_start[0],czy_numerowac,stronasubst_latex,stronasubst_mathml);
						}else{
							StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(undefined,czy_numerowac,stronasubst_latex,stronasubst_mathml);
						}
					}else{
						StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(undefined,czy_numerowac,stronasubst_latex,stronasubst_mathml);
					}
		
					$("#mw-content-text .mw-parser-output .spis_treści").has('ul li a').css('visibility',"unset");
					
					if(globalne_zmienne.SideBarToc){SideBarToc();}
					if(globalne_zmienne.ScrollBarOverflow){ScrollBarOverflow();}
				
					let action_view_i_submit=document.querySelector('body.action-view:not(.ns-special), body.action-submit');
					if((action_view_i_submit)&&(czy_numerowac)){
						let toc_nowy_vector=$('.mw-table-of-contents-container');
						if((toc_nowy_vector!==null)&&(toc_nowy_vector.length>0)){
							
							let sidebartoc=toc_nowy_vector.children('.sidebar-toc');
							if((sidebartoc!==null)&&(sidebartoc.length>0)){
								let kopia=sidebartoc[0].cloneNode(true);
								$(sidebartoc[0]).parent().each((i,rodzic)=>{
									rodzic.replaceChild(kopia,sidebartoc[0]);
								});
							}
						}
					}
					
					if(globalne_zmienne.Vector2022){Vector2022.ZdarzeniaNawigacja();}
					
					if(tab_promise2){tab_promise2.wygeneruj(1);}
					AnalizujDalejSzablonSubst(element_strony,tab_promise2);
					
					if(tab_promise2){tab_promise2.zwolnij();}
				}).catch(()=>{if(tab_promise2){tab_promise2.zwolnij();}});
				if(tab_promise2){tab_promise2.zwolnij();}
			}).catch(()=>{if(tab_promise2){tab_promise2.zwolnij();}});
			if(tab_promise2){tab_promise2.zwolnij();}
			return;
		}
		
		let tab_promise=new StronicowyParser.GenerowaneObiekty(1);
		StronicowyParser.szablony.LadujSzablon(null,null,null,undefined,tab_promise);
		
		StronicowyParser.ZmieniajNazwyLinkowNaLinkiPodrecznika();
		tab_promise.wygeneruj(1);
		StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(element_strony,tab_promise);
		tab_promise.wygeneruj(1);
		StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(element_strony,tab_promise);
		
		if(tab_promise2){tab_promise2.wygeneruj(1);tab_promise2.wygeneruj(1);}
		StronicowyParser.CzekajNaZakaczenie(tab_promise,tab_promise2).then(async (result) => {
			
			let tab_promise=new StronicowyParser.GenerowaneObiekty();
			if((StronicowyParser.numerowanie)&&(StronicowyParser.numerowanie.NumerujRozdzialyPrzedSciaganiemArtykulow)){
				tab_promise.wygeneruj(1);
				StronicowyParser.numerowanie.NumerujRozdzialyPrzedSciaganiemArtykulow(tab_promise).then((result) => {}).catch((error) => {});//Funkcja jako gadżet do numerowania rozdziałów.
			}
			await StronicowyParser.CzekajNaZakaczenie(tab_promise).then(async (result) => {}).catch(()=>{});
			
			await StronicowyParser.muteks.zablokuj();
			
			if(tab_promise2){tab_promise2.wygeneruj(1);}
			AnalizujDalejSzablonSubst(element_strony,tab_promise2);
		
			let rozdzial_ksiazki="rozdział_książki";
			
			let tagclass=element_strony.getElementsByClassName(rozdzial_ksiazki);
			
			if(tagclass===null){
				StronicowyParser.muteks.odblokuj();
				if(tab_promise2){tab_promise2.zwolnij();}
				return null;
			}
			let liczba_elementow=tagclass.length;
			if(liczba_elementow==0){
				StronicowyParser.muteks.odblokuj();
				if(tab_promise2){tab_promise2.zwolnij();};
				return null;
			}
			let titles=new Array();
			let tabstrona=new Array();
			let tabs=new Array();
			let tab_section=new Array();
		
			if(StronicowyParser.TrybCiemnyIJasny){
				if(tab_promise2){tab_promise2.wygeneruj(1);}
				StronicowyParser.TrybCiemnyIJasny(element_strony,tab_promise2);
			}
		
			let tab_hn=new Array();
		
			async function edit_action(numer,strona,hn,link_strona,czy_link_nie_w_naglowku){
				await StronicowyParser.muteks.zablokuj();
				let linkstrony_editsection=hn.querySelector('.mw-editsection');
				if(linkstrony_editsection===null){
					let editsection=document.createElement('span');
					editsection.classList.add('mw-editsection');
				
					let bracket_poczatek=document.createElement('span');
					bracket_poczatek.classList.add('mw-editsection-bracket')
					bracket_poczatek.innerHTML="[";
				
					let a=document.createElement('a');
					a.setAttribute('href',"/w/index.php?title="+StronicowyParser.kodowanie.EncodeHtml(strona,false,true)+"&action=edit"+((numer>0)?("&section="+numer):""));
					a.setAttribute('title',"Edytuj artykuł: "+link_strona);
					a.innerHTML="edytuj";
				
					let bracket_koniec=document.createElement('span');
					bracket_koniec.classList.add('mw-editsection-bracket')
					bracket_koniec.innerHTML="]";
				
					editsection.appendChild(bracket_poczatek);
					editsection.appendChild(a)
					editsection.appendChild(bracket_koniec);
				
					hn.appendChild(editsection);
				}
				linkstrony_editsection=hn.querySelector('.mw-editsection');
			
				if(linkstrony_editsection!==null){
					let mw_editsection_bracket=linkstrony_editsection.querySelector('a');
					if(mw_editsection_bracket!==null){
	                	if(czy_link_nie_w_naglowku){
							let a=document.createElement('a');
					    	a.innerHTML="artykuł";
					    	a.setAttribute("href",StronicowyParser.kodowanie.EncodeHtml("/wiki/"+StronicowyParser.kodowanie.EncodeHtml(link_strona,false,true)));
					    	a.setAttribute("title","Zobacz artykuł: "+link_strona);
					    	let span=document.createElement('span');
							span.innerHTML="| ";
							span.setAttribute('class',"mw-editsection-bracket")
							
							let czy_ma=$(mw_editsection_bracket).parent().hasClass('link');
							if(czy_ma){
								let rodzic_mw_editsection_bracket=mw_editsection_bracket.parentNode;
								let span2=linkstrony_editsection.insertBefore(span, rodzic_mw_editsection_bracket);
								linkstrony_editsection.insertBefore(a, span2);
							}else{
								let span2=linkstrony_editsection.insertBefore(span, mw_editsection_bracket);
								linkstrony_editsection.insertBefore(a, span2);
							}
						}
					}
					if((StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo)&&(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach)){
						StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(linkstrony_editsection).then((result) => {}).catch((error) => {});
					}
				}
				StronicowyParser.muteks.odblokuj();
    		 }
			for (let i=0;i<liczba_elementow;++i){
				let tagclassname=tagclass[i];
				
				let potomek_analizowany=$(element_strony).find(".rodzic_szablon_subst_js.szablon_subst_js_zaanalizowany, .szablon_subst_js.szablon_subst_js_zaanalizowany").find("."+rozdzial_ksiazki);
				function CzyOdrzucic(){
					for(let i=0;i<potomek_analizowany.length;++i){
						if(potomek_analizowany[i]==tagclassname){
							return true;
						}
					}
					return false;
				}
				if(CzyOdrzucic()){continue;}
				
				if(tagclassname.tagName.toUpperCase()!="DIV"){
					StronicowyParser.muteks.odblokuj();
					if(tab_promise2){tab_promise2.zwolnij();}
					return;
				}
				let class_element=tagclassname.getElementsByClassName('strona_subst');
				let element;
				if((class_element!==null)&&(class_element.length==1)){
					element=class_element[0];
					if(element.tagName.toUpperCase()!="DIV"){
						StronicowyParser.muteks.odblokuj();
						if(tab_promise2){tab_promise2.zwolnij();}
						return;
					}
				}else{
					StronicowyParser.muteks.odblokuj();
					if(tab_promise2){tab_promise2.zwolnij();}
					return;
				}
				let czy_link_nie_w_naglowku;
				let strona_headline=tagclassname.getElementsByClassName('mw-headline');
				let link_strona;
				if((strona_headline!==null)&&(strona_headline.length==1)){
					strona_a=strona_headline[0].getElementsByTagName('a');
					if((strona_a!==null)&&(strona_a.length==1)){
						link_strona=StronicowyParser.kodowanie.DecodeHtml(strona_a[0].getAttribute('href'));
						if(link_strona!==null){
							let re=/\/wiki\//g;
							if(re.test(link_strona)){
								link_strona=link_strona.substring(6,link_strona.length);
								czy_link_nie_w_naglowku=false;
							}else{
								StronicowyParser.muteks.odblokuj();
								if(tab_promise2){tab_promise2.zwolnij();}
								return;
							}
						}
					}else{
						link_strona=StronicowyParser.style.UsunStyle(element.innerHTML);
						czy_link_nie_w_naglowku=true;
					}	
				}
				
				
				let re = /^[_\s]*$/g;
    			let dopasowanie = re.test(link_strona);
    			if(dopasowanie){
    				StronicowyParser.muteks.odblokuj();
    				if(tab_promise2){tab_promise2.zwolnij();};
    				return;
    			};
    			link_strona=link_strona.replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g," ").replace(/&amp;/g,"&").replace(/&nbsp;/g," ");
    			let hash=link_strona.replace(/^([^#]*)#(.*)$/,"$2").replace(/&amp;/g,"&").replace(/&nbsp;/g,"_");
    	    	/**/
    	    	let hn=strona_headline[0].parentNode;
    	    	if((hn===null)||(!hn.tagName.toUpperCase().match(/^H\d+$/g))){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.zwolnij();};return;}
    	    
    	    	tab_section[i]=new Array(hn,link_strona,czy_link_nie_w_naglowku);
    	    	let strona=link_strona.match(/^[^#]*/g).toString();
    	   
    	    	async function PraceIteracyjne(tab_promise2){
    		    	await StronicowyParser.muteks.zablokuj();
    		    	if(/#/g.test(link_strona)){
	    	    		 let hash=link_strona.replace(/^([^#]*)#(.*)$/g,"$2");
	    	    		 if(tab_promise2){tab_promise2.wygeneruj(1);}
						  StronicowyParser.api.ZadaniaApi({
							action: 'parse',
							format: 'json',
							prop: 'text',
							title: aktualna_strona,
							text: "<div class=\"hn hn_"+i+"\">{{#invoke:StronicowyParser|KtóraSekcjaStrony|"+strona+"|"+hash+"}}</div>",
							disabletoc: true,
							disablelimitreport: true,
							contentmodel: 'wikitext',
							smaxage: 600,
							maxage: 600,
		    			}).then(async function(data){
	    					   await StronicowyParser.muteks.zablokuj();
    						   let wikikod=data.parse.text['*'];
    						   let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod);
    						   let c=tab_uzyskane[0];let hn=tab_uzyskane[1];
	    					   if(c===undefined){
    						   		console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje numer sekcji na podstawie jego id.");
    						   		StronicowyParser.muteks.odblokuj();
    						   		if(tab_promise2){tab_promise2.zwolnij();}
    					   			return;
	    					   }
    						   let numer=hn.innerHTML;
    						   numer=parseInt(numer);
	    					   if(isNaN(numer)){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.zwolnij();};return ;}
    	        	    	   let tab_c=tab_section[c];
    						   
	    					   edit_action(numer,tab_c[1].match(/^[^#]*/g).toString(),tab_c[0],tab_c[1],tab_c[2]);
	    					   StronicowyParser.muteks.odblokuj();
	    					   if(tab_promise2){tab_promise2.zwolnij();}
    					}).catch((error) => {if(tab_promise2){tab_promise2.zwolnij();}});
    					if(stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami){
	    					if(!stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika){
	    						  if(tab_promise2){tab_promise2.wygeneruj(1);}
								  StronicowyParser.api.ZadaniaApi({
									action: 'parse',
									format: 'json',
									prop: 'text',
									title: aktualna_strona,
									text: "<div class=\"hn hn_"+i+"\">{{#invoke:StronicowyParser|ZwróćSekcjęNagłówkaStrony|"+strona+"|"+hash+"}}</div>",
									disabletoc: true,
									disablelimitreport: true,
									contentmodel: 'wikitext',
									smaxage: 600,
									maxage: 600,
	    						}).then(async function(data){
	    							await StronicowyParser.muteks.zablokuj();
    								let wikikod=data.parse.text['*'];
    						        let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod);
    						        let c=tab_uzyskane[0];let hn=tab_uzyskane[1];
	    							if(c===undefined){
    									console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje nazwę sekcji na podstawie jego id.");
    									StronicowyParser.muteks.odblokuj();
    									if(tab_promise2){tab_promise2.zwolnij();}
    									return;
	    							}
    								wikikod=hn.innerHTML;
    								if(/^\s*$/g.test(wikikod)){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.zwolnij();};return;}
    	    		    			let tab_c=tab_section[c];
    								let hn_element=tab_c[0];
    								let headline=hn_element.querySelector('.mw-headline');
    								if(!stronasubst_nie_usuwaj_styli){
	    								StronicowyParser.style.PrzeniesStyleNaPoczatekArtykulu(wikikod);
    									headline.innerHTML=StronicowyParser.style.UsunStyle(wikikod);
	    							}else{
    									headline.innerHTML=wikikod;
    								}
    								StronicowyParser.ZamieniajNazwyLinkuTOC(headline,true,stronasubst_latex);
    							
    								if(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach){
    									if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo){
    										StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(headline).then((result) => {}).catch((error) => {});
										}
										if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo){
											StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(headline).then((result) => {}).catch((error) => {});
										}
    								}
    								StronicowyParser.muteks.odblokuj();
    								if(tab_promise2){tab_promise2.zwolnij();}
	    						}).catch((error) => {if(tab_promise2){tab_promise2.zwolnij();}});
    						}else{
    							let uzupelniaj_sekcje_artykulow;
    							if(stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule){
    								uzupelniaj_sekcje_artykulow="tak";
	    						}else{
    								uzupelniaj_sekcje_artykulow="";
    							}
    							  if(tab_promise2){tab_promise2.wygeneruj(1);}
    	    					  StronicowyParser.api.ZadaniaApi({
									action: 'parse',
									format: 'json',
									prop: 'text',
									title: aktualna_strona,
									text: "<div class=\"hn hn_"+i+"\">{{#invoke:Ramka|Rozwiń|{{#invoke:StronicowyParser|LiniaArtykułuKsiążki|nazwa przestrzeni nazw=(main)|nazwa jednostki="+link_strona+"|analiza=tak|uzupełniaj sekcje artykułów="+uzupelniaj_sekcje_artykulow+"|wyspecjalizowana=tak}}}}</div>",
									disabletoc: true,
									disablelimitreport: true,
									contentmodel: 'wikitext',
									smaxage: 600,
									maxage: 600,
	    						}).then(async function(data){
    								await StronicowyParser.muteks.zablokuj();
	    							let wikikod=data.parse.text['*'];
    						        let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod);
    						        let c=tab_uzyskane[0];let hn=tab_uzyskane[1];
    								if(c===undefined){
    									console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje nazwę sekcji na podstawie jego id.");
    									StronicowyParser.muteks.odblokuj();
    									if(tab_promise2){tab_promise2.zwolnij();}
    									return;
	    							}	
    								wikikod=hn.innerHTML;
		    						if(/^\s*$/g.test(wikikod)){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.zwolnij();};return;}
	    		        			let tab_c=tab_section[c];
    								let hn_element=tab_c[0];
    								let headline=hn_element.querySelector('.mw-headline');
    						
    								let stare=tab_section[c][1];let nowe;
    								if(!stronasubst_nie_usuwaj_styli){
    									StronicowyParser.style.PrzeniesStyleNaPoczatekArtykulu(wikikod);
    							    	wikikod=StronicowyParser.style.UsunStyle(wikikod);
		    						    nowe=wikikod.replace(/<[^<>]+>/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," ");
    								}else{
    									nowe=StronicowyParser.style.UsunStyle(wikikod).replace(/<[^<>]+>/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," ");
    								}
    								stronasubst_tablica_alternatywnych_nazw[stare]=nowe;
    					
    								headline.innerHTML=wikikod;
    								let a=headline.getElementsByTagName('a');
    						
	    							if((a!==null)&&(a.length>0)){
    									a[0].setAttribute('title',stare);
    								}
    						
    								StronicowyParser.ZamieniajNazwyLinkuTOC(headline,true,stronasubst_latex);
    							
    								if(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach){
    									if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo){
    										StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(headline).then((result) => {}).catch((error) => {});
										}
										if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo){
											StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(headline).then((result) => {}).catch((error) => {});
										}
    								}
    								StronicowyParser.muteks.odblokuj();
    								if(tab_promise2){tab_promise2.zwolnij();}
    							}).catch((error) => {if(tab_promise2){tab_promise2.zwolnij();}});
    						}
    					}
    	    		}else{
    	    			edit_action(0,strona,hn,link_strona,czy_link_nie_w_naglowku);
    	    			if(stronasubst_aktualizowanie_nazw_artykulow){
    	    				  if(tab_promise2){tab_promise2.wygeneruj(1);}
    	    				  StronicowyParser.api.ZadaniaApi({
								action: 'parse',
								format: 'json',
								prop: 'text',
								title: aktualna_strona,
								text: "<div class=\"hn hn_"+i+"\">{{#invoke:Ramka|Rozwiń|{{#invoke:StronicowyParser|LiniaArtykułuKsiążki|nazwa przestrzeni nazw=(main)|nazwa jednostki="+strona+"|analiza=tak|wyspecjalizowana=tak}}}}</div>",
								disabletoc: true,
								disablelimitreport: true,
								contentmodel: 'wikitext',
								smaxage: 600,
								maxage: 600,
	    					}).then(async function(data){
    							await StronicowyParser.muteks.zablokuj();
    							let wikikod=data.parse.text['*'];
    							let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod);
    							let c=tab_uzyskane[0];let hn=tab_uzyskane[1];
    							if(c===undefined){
    								console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje nazwę sekcji na podstawie jego id.");
	    							StronicowyParser.muteks.odblokuj();
	    							if(tab_promise2){tab_promise2.zwolnij();}
    								return;
    							}	
    							wikikod=hn.innerHTML;
    							if(/^\s*$/g.test(wikikod)){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.zwolnij();};return;}
    	        				let tab_c=tab_section[c];
    							let hn_element=tab_c[0];
    							let headline=hn_element.querySelector('.mw-headline');
    				
    							let stare=tab_section[c][1];let nowe;
	    						if(!stronasubst_nie_usuwaj_styli){
    								StronicowyParser.style.PrzeniesStyleNaPoczatekArtykulu(wikikod);
    						    	wikikod=StronicowyParser.style.UsunStyle(wikikod);
    						    	nowe=wikikod.replace(/<[^<>]+>/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," ");
    							}else{
    						    	nowe=StronicowyParser.style.UsunStyle(wikikod).replace(/<[^<>]+>/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," ");
    							}
    							
	    						stronasubst_tablica_alternatywnych_nazw[stare]=nowe;
    				
    							headline.innerHTML=wikikod;
	    						StronicowyParser.ZamieniajNazwyLinkuTOC(headline,true,stronasubst_latex);
    							if(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach){
    								if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo){
    									StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(headline).then((result) => {}).catch((error) => {});
									}
									if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo){
										StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(headline).then((result) => {}).catch((error) => {});
									}
	    						}
    							StronicowyParser.muteks.odblokuj();
    							if(tab_promise2){tab_promise2.zwolnij();}
    						}).catch((error) => {if(tab_promise2){tab_promise2.zwolnij();}});
    	    			}
    	    		}
    	    		StronicowyParser.muteks.odblokuj();
    	    		if(tab_promise2){tab_promise2.zwolnij();}
    	    	}
    	    	if(tab_promise2){tab_promise2.wygeneruj(1);}
    	    	setTimeout(()=>{
		    		PraceIteracyjne(tab_promise2).then((result) => {}).catch((error) => {});
    	    	},1000);
    	    	
				/**/
    			tabs[i]=link_strona;
    		
    			let czy=false;
    			for(let d in titles){
       				if(titles[d]==link_strona){
       	    			czy=true;
       	    			break;
       				}
    			}
    			if(!czy){
       				titles[titles.length]=link_strona;
    			}	
    		
    		
    			if(tabstrona[link_strona]==null){
       				tabstrona[link_strona]=new Array();
    			}
    			let tab=tabstrona[link_strona];
    			let tablen=tab.length;
    			tabstrona[link_strona][tablen]=element;
			}
			async function PraceNaglowki(tab_promise2){
				await StronicowyParser.muteks.zablokuj();
				let promise;
	    	    if(element_strony==document){
	    	    	let namespace=StronicowyParser.pageinfo.namespace;
    	    		let strona_podrecznika=((namespace!="")?(namespace+":"):"")+StronicowyParser.pageinfo.bookname;
    	    		promise=Promise.resolve(strona_podrecznika);
	    	    }else{
	    	    	let zaan=$(element_strony).parents('.rodzic_szablon_subst_js.szablon_subst_js_zaanalizowany, .szablon_subst_js.szablon_subst_js_zaanalizowany');
	    	    	if((zaan!==null)&&(zaan.length>0)){
	    	    		let strona=zaan[0].getAttribute('nazwa_strony');
	    	    		if(strona){
	    	    			promise=StronicowyParser.nazwy["PEŁNANAZWAKSIĄŻKI"](strona);
	    	    		}else{
	    	    			promise=StronicowyParser.nazwy["PEŁNANAZWAKSIĄŻKI"](aktualna_strona);
	    	    		}
	    	    	}else{
    	    			promise=StronicowyParser.nazwy["PEŁNANAZWAKSIĄŻKI"](aktualna_strona);
	    	    	}
	    	    }
	    		if(tab_promise2){tab_promise2.wygeneruj(1);}
				promise.then(async (strona_podrecznika)=>{
					await StronicowyParser.muteks.zablokuj();
					let klasa_naglowka=element_strony.getElementsByClassName('klasa_nagłówka');
					
					let potomek_analizowany=$(element_strony).find(".rodzic_szablon_subst_js.szablon_subst_js_zaanalizowany, .szablon_subst_js.szablon_subst_js_zaanalizowany").find(".klasa_nagłówka");
					
    				if((klasa_naglowka!==null)&&(klasa_naglowka.length>0)){
    					let g=0;
    					let tab_naglowka=new Array();
    					let tab_hn=new Array();
    	    			for(let z=0;z<klasa_naglowka.length;++z){
    	    				let pojedyncza_klasa_naglowka=klasa_naglowka[z];
    	    				function CzyOdrzucic(){
								for(let i=0;i<potomek_analizowany.length;++i){
									if(potomek_analizowany[i]==pojedyncza_klasa_naglowka){
										return true;
									}
								}
								return false;
							}
							if(CzyOdrzucic()){continue;}
							
    	    				let dana_klasa_naglowka=pojedyncza_klasa_naglowka.querySelector('.mw-headline');
    	    				if(dana_klasa_naglowka!==null){
    	    					if((dana_klasa_naglowka.parentNode!==null)&&(dana_klasa_naglowka.parentNode.tagName.toUpperCase().match(/^[Hh]\d+$/g))
    	    						&&(dana_klasa_naglowka.parentNode.parentNode!=null)&&(dana_klasa_naglowka.parentNode.parentNode.tagName.toUpperCase()=="DIV")
    	    							&&($(dana_klasa_naglowka.parentNode.parentNode).hasClass('klasa_nagłówka'))){
	    	    			   				let naglowek=StronicowyParser.style.UsunStyle(dana_klasa_naglowka.innerHTML).replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g,"_").replace(/&amp;/g,"&").replace(/&nbsp;/g,"_");
    		    			   				let ww=1;
    		    			   				for(let x=0;x<tab_naglowka.length;++x){
    	    				   	       			if(tab_naglowka[x]==naglowek){
    	    				   	        			++ww;
    	    				   	        		}
    	    				   	    		}
    	    			   		    		naglowek=naglowek+((ww>1)?ww:"");
    	    			   	    			tab_naglowka[g]=naglowek;
	    	    			   	    		tab_hn[g]=dana_klasa_naglowka.parentNode;
	    	    			   	    	
	    									if(tab_promise2){tab_promise2.wygeneruj(1);}
											StronicowyParser.api.ZadaniaApi({
												action: 'parse',
												format: 'json',
												prop: 'text',
												title: aktualna_strona,
												text: "<div class=\"hn hn_"+g+"\">{{#invoke:StronicowyParser|KtóraSekcjaStrony|"+strona_podrecznika+"|"+naglowek+"}}</div>",
												disabletoc: true,
												disablelimitreport: true,
												contentmodel: 'wikitext',
												smaxage: 600,
												maxage: 600,
    										}).then(async function(data){
    											    await StronicowyParser.muteks.zablokuj();
    											    let wikikod=data.parse.text['*'];
	    						                    let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod);
    					    	                	let c=tab_uzyskane[0];let hn=tab_uzyskane[1];
    												if(c===undefined){
    				   									console.log("Nie wykryto znacznika hn_\d+ dla strony, na stronie głównej podręcznika, która podaje numer sekcji na podstawie jego id.");
    				   									StronicowyParser.muteks.odblokuj();
	    												if(tab_promise2){tab_promise2.zwolnij();}
    				   									return;
	    											}
		    										let nazwa_podrecznika=strona_podrecznika.replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g," ")
    												let naglowek_sekcji_podrecznika=tab_naglowka[c].replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g," ")
    												edit_action(c+1,nazwa_podrecznika,tab_hn[c],nazwa_podrecznika+"#"+naglowek_sekcji_podrecznika,true);
    												StronicowyParser.muteks.odblokuj();
	    											if(tab_promise2){tab_promise2.zwolnij();}
    										}).catch((error) => {if(tab_promise2){tab_promise2.zwolnij();}});
	    									if(stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej){
	    										if(tab_promise2){tab_promise2.wygeneruj(1);}
												StronicowyParser.api.ZadaniaApi({
													action: 'parse',
													format: 'json',
													prop: 'text',
													title: aktualna_strona,
													text: "<div class=\"hn hn_"+g+"\">{{#invoke:StronicowyParser|ZwróćSekcjęNagłówkaStrony|"+strona_podrecznika+"|"+naglowek+"}}</div>",
													disabletoc: true,
													disablelimitreport: true,
													contentmodel: 'wikitext',
													smaxage: 600,
													maxage: 600,
	    										}).then(async function(data){
    													await StronicowyParser.muteks.zablokuj();
    													let wikikod=data.parse.text['*'];
    				        			                let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod);
    				        	    		            let c=tab_uzyskane[0];let hn=tab_uzyskane[1];
    													if(c===undefined){
    														console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje nazwę sekcji na podstawie jego id.");
    														StronicowyParser.muteks.odblokuj();
	    													if(tab_promise2){tab_promise2.zwolnij();}
    														return;
	    												}
    													wikikod=hn.innerHTML;
	    												if(/^\s*$/g.test(wikikod)){StronicowyParser.muteks.odblokuj();return;}
    													let headline=tab_hn[c].querySelector('.mw-headline');
    													if(!stronasubst_nie_usuwaj_styli){
    														StronicowyParser.style.PrzeniesStyleNaPoczatekArtykulu(wikikod);
    														headline.innerHTML=StronicowyParser.style.UsunStyle(wikikod);
    													}else{
    														headline.innerHTML=wikikod;
    													}
    													StronicowyParser.ZamieniajNazwyLinkuTOC(headline,true,stronasubst_latex);
    													if(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach){
    														if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo){
    															StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(headline).then((result) => {}).catch((error) => {});
															}
															if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo){
																StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(headline).then((result) => {}).catch((error) => {});
															}
    													}
    													StronicowyParser.muteks.odblokuj();
	    												if(tab_promise2){tab_promise2.zwolnij();}
    												}).catch((error) => {if(tab_promise2){tab_promise2.zwolnij();}});
    											}
    									++g;
    	    						}
    	    				}
    	    			}
    	    		}
    	    		StronicowyParser.muteks.odblokuj();
	    			if(tab_promise2){tab_promise2.zwolnij();}
				}).catch(()=>{if(tab_promise2){tab_promise2.zwolnij();}});
    	    	StronicowyParser.muteks.odblokuj();
	    		if(tab_promise2){tab_promise2.zwolnij();}
    		}
	    	if(tab_promise2){tab_promise2.wygeneruj(1);}
	    	
	    	setTimeout(()=>{
    			PraceNaglowki(tab_promise2).then((result) => {}).catch((error) => {});
    		},1000);
    		
			function RozwazajNaglowki(){
  				let toc_fun=new StronicowyParser.ListaNodeTOC();
				if((toc_fun.toc!==null)&&(toc_fun.toc.length>0)){
					for(let w=0;w<toc_fun.toc.length;++w){
						let czy_side_bar_toc=toc_fun.CzySideBarToc(toc_fun.toc[w]);
						let ile_jest=0;
						let li=toc_fun.toc[w].getElementsByTagName('li');
						if((li!==null)&&(li.length>0)){
							for(let dd=0;dd<li.length;++dd){
								let element_li=li[dd];
								let tocnumber;let toctext_wartosc;
								if(czy_side_bar_toc){
									tocnumber=element_li.querySelector('.sidebar-toc-numb');
									if(!tocnumber){continue;}
									toctext_wartosc=element_li.querySelector('.sidebar-toc-text').innerHTML.replace(new RegExp(StronicowyParser.wzor.BezZnakowSpecjalnych(tocnumber.outerHTML),"g"),"");
								}else{
									tocnumber=element_li.querySelector('.tocnumber');
									toctext_wartosc=element_li.querySelector('.toctext').innerHTML;
								}
								if((tocnumber!==null)&&(toctext_wartosc!==null)){
									let czy_jest=undefined;
									let klasa_naglowka=element_strony.getElementsByClassName('klasa_nagłówka');
									if((klasa_naglowka!==null)&&(klasa_naglowka.length>0)&&(klasa_naglowka[ile_jest]!=null)){
										let element_klasa_naglowka=klasa_naglowka[ile_jest];
										let headline=element_klasa_naglowka.querySelector('.mw-headline');
										if((headline!==null)
											&&(headline.parentNode!==null)
											&&(headline.parentNode.tagName.toUpperCase().match(/^H\d+$/))
											&&(headline.parentNode.parentNode!==null)
											&&(headline.parentNode.parentNode.tagName.toUpperCase()=="DIV")
											&&(headline.parentNode.parentNode===element_klasa_naglowka)
										){
											let element_a;
											if(czy_side_bar_toc){
												element_a=tocnumber.parentNode.parentNode;
											}else{
												element_a=tocnumber.parentNode;
											}
											if(element_a.tagName.toUpperCase()=="A"){
												let href=StronicowyParser.kodowanie.DecodeHtml(element_a.getAttribute('href'));
												if(href!==null){
													href=href.replace(/^#/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g,"_");
													let id_headline=headline.getAttribute('id');
													if(id_headline!==null){
														id_headline=id_headline.replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g,"_");
														if(href!=id_headline){czy_jest=true;}
													}else{czy_jest=true;}
												}else{czy_jest=true;}
									    	}else{czy_jest=true;}
										}else{czy_jest=true;}
									}else{czy_jest=true;}
									
									if(czy_jest===undefined){ile_jest+=1;}
									if((czy_jest===undefined)||(!czy_jest)){
										let element_toctext=StronicowyParser.style.UsunStyle(toctext_wartosc).replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g," ");
										if(stronasubst_tablica_rozdzialow[element_toctext]==null){
											stronasubst_tablica_rozdzialow[element_toctext]=new Array(tocnumber);
										}else{
									   		stronasubst_tablica_rozdzialow[element_toctext].push(tocnumber);
										}
									}
								}
							}
						}
					}
				}
			}
		
			StronicowyParser.LimitTOC(true,stronasubst_ukrywaj_toc);
		
			if(CzyWszystkieNaglowkiWewnatrzStronaStart()){
				if((strona_start!==null)&&(strona_start.length>0)){
					StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(strona_start[0],true,stronasubst_latex,stronasubst_mathml);
				}else{
					StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(undefined,true,stronasubst_latex,stronasubst_mathml);
				}
			}else{
				StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(undefined,true,stronasubst_latex,stronasubst_mathml);
			}
			
			$("#mw-content-text .mw-parser-output .spis_treści").has('ul li a').css('visibility',"unset");
			
			if(globalne_zmienne.SideBarToc){SideBarToc();}
			if(globalne_zmienne.ScrollBarOverflow){ScrollBarOverflow();}
			
			let action_view_i_submit=document.querySelector('body.action-view:not(.ns-special), body.action-submit');
			if((action_view_i_submit)&&(StronicowyParser.CzyWlaczycSideBarTOC(undefined,true))){
				let toc_nowy_vector=$('.mw-table-of-contents-container');
				if((toc_nowy_vector!==null)&&(toc_nowy_vector.length>0)){
					let sidebartoc=toc_nowy_vector.children('.sidebar-toc');
					if((sidebartoc!==null)&&(sidebartoc.length>0)){
						let kopia=sidebartoc[0].cloneNode(true);
						$(sidebartoc[0]).parent().each((i,rodzic)=>{
							rodzic.replaceChild(kopia,sidebartoc[0]);
						});
					}
				}
			}
			
			if(globalne_zmienne.Vector2022){Vector2022.ZdarzeniaNawigacja();}
		
  	    	RozwazajNaglowki();
  	    
  	    	if(stronasubst_mathml){
				$("div.toc ul > li > a > span.toctext").toggleClass("mathml");
				$("div.toc_spis ul > li > a > span.toctext").toggleClass("mathml");
				$("div.mw-table-of-contents-container > nav.sidebar-toc ul > li > a > div.sidebar-toc-text").toggleClass("mathml");
			}
			function Strona(strona){
				let strona_re=StronicowyParser.wzor.BezZnakowSpecjalnych(strona);
  	    		let re=new RegExp("^\\s*"+strona_re+"\\s*#","g");
  	    		return re;
			}
  	    	function CzyArtykulyZNaglowkamiDlaStrony(re){
  	    		for(let s in titles){
  	         		let czy_hash=titles[s].match(re);
  	         		if(czy_hash){
  	         			 return true;
  	         		}
  	    		}
  	    		return false;
  	    	}
  	    
  	    	let catlinks_fun=new StronicowyParser.LinkiKategorii();
  	    	await catlinks_fun.PobierzKategorieStrony();
  	    
			for ( let t in titles ) {
				let strona=titles[t].match(/^[^#]*/g).toString();
				let szablon_artykulu;
				let re_strona=Strona(strona);
				let czy_naglowki=CzyArtykulyZNaglowkamiDlaStrony(re_strona);
				if(!czy_naglowki){
					szablon_artykulu="{{:"+strona+"}}";
				}else{
				/*---------------------------------*/
				
					let rozdzial1=null;
					let re=/^([^#]*)#(.*)$/g;
					if(re.test(titles[t])){
						rozdzial1=titles[t].replace(re,"$2");
						rozdzial1=rozdzial1.replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/<i>/g,"''").replace(/<\/i>/g,"''").replace(/<b>/g,"'''").replace(/<\/b>/g,"'''");
					}else{rozdzial1="";}
					let rozdzial2=null;
					let tit=titles[parseInt(t)+1];
					if( tit && re.test(tit) && re_strona.test(tit)){
						rozdzial2=tit.replace(re,"$2");
						rozdzial2=rozdzial2.replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/<i>/g,"''").replace(/<\/i>/g,"''").replace(/<b>/g,"'''").replace(/<\/b>/g,"'''");
					}else{rozdzial2="";}
					/*---------------------------*/
					szablon_artykulu="{{#invoke:Ramka|Rozwiń|{{#invoke:StronicowyParser|TekstRozdziałuStrony|"+strona+"|"+rozdzial1+"|"+rozdzial2+"}}}}";
				}
				szablon_artykulu="{{PrzytnijTekst|"+szablon_artykulu+"}}";
			
				if(stronasubst_opakuj_kategorie_ze_sortowaniem){
					szablon_artykulu="{{OpakujKategorieZeSortowaniem|"+szablon_artykulu+"}}"
				}
				if(tab_promise2){tab_promise2.wygeneruj(1);}
				StronicowyParser.api.ZadaniaApi({
					action: 'parse',
					format: 'json',
					prop: 'text|categories',
					title: strona,
					text: "<div class=\"hn hn_"+t+"\">\n"+szablon_artykulu+"\n</div>",
					disabletoc: true,
					disablelimitreport: true,
					contentmodel: 'wikitext',
					smaxage: 600,
					maxage: 600,
    			}).then(async function(data){
    				    await StronicowyParser.muteks.zablokuj();
    					catlinks_fun.AnalizaKategorii(data).then((result) => {}).catch((error) => {});
    					if(tab_promise2){tab_promise2.wygeneruj(1);}
    			    	WikikodTitle(data,tabs,titles,tabstrona,stronasubst_latex,stronasubst_mathml,tab_promise2).then((result) => {}).catch((error) => {});
    			    	StronicowyParser.muteks.odblokuj();
    			    	if(tab_promise2){tab_promise2.zwolnij();}
    			}).catch((error) => {if(tab_promise2){tab_promise2.zwolnij();}});
			}
		StronicowyParser.muteks.odblokuj();
		if(tab_promise2){tab_promise2.zwolnij();}
		}).catch(()=>{if(tab_promise2){tab_promise2.zwolnij();}});
		
		StronicowyParser.muteks.odblokuj();
		if(tab_promise2){tab_promise2.zwolnij();}
	}
	function CzyszczenieZZdarzeńTableOfContent(){
		let toc_nowy_vector=$('.mw-table-of-contents-container');
		if((toc_nowy_vector!==null)&&(toc_nowy_vector.length>0)){
			let sidebartoc=toc_nowy_vector.children('.sidebar-toc');
			if((sidebartoc!==null)&&(sidebartoc.length>0)){
				let kopia=sidebartoc[0].cloneNode(true);
				$(sidebartoc[0]).parent().each((i,rodzic)=>{
					rodzic.replaceChild(kopia,sidebartoc[0]);
				});
			}
		}
	}
	
	CzyszczenieZZdarzeńTableOfContent();	
	
	let tab_promise2=new StronicowyParser.GenerowaneObiekty();
	async function CzyStronaSubst(element,aktualna_strona,tab_promise2){
		if(tab_promise2){tab_promise2.wygeneruj(1);}
		await StronicowyParser.muteks.zablokuj();
    	StronicowyParser.api.ZadaniaApi({
			action: 'expandtemplates',
			format: 'json',
			prop: 'wikitext',
			title: aktualna_strona,
			text: '{{#invoke:StronicowyParser|CzyStronaSubst}}',
			smaxage: 600,
			maxage: 600,
		}).then(async function(data){
  	    	await StronicowyParser.muteks.zablokuj();
  	    	let wikikod=data.expandtemplates.wikitext;
  	    	if((wikikod!==null)&&(aktualna_strona!==null)){
  	    		if(tab_promise2){tab_promise2.wygeneruj(1);}
	    		StronaSubst(element,wikikod,aktualna_strona,tab_promise2).then((result) => {}).catch((error) => {});
  	    	}
	    	StronicowyParser.muteks.odblokuj();
	    	if(tab_promise2){tab_promise2.zwolnij();}
		}).catch((error) => {if(tab_promise2){tab_promise2.zwolnij();}});
		StronicowyParser.muteks.odblokuj();
		if(tab_promise2){tab_promise2.zwolnij();}
  }
  
  let aktualna_strona=StronicowyParser.pageinfo.fullname;
  if(tab_promise2){tab_promise2.wygeneruj(2);}
  CzyStronaSubst(document,aktualna_strona,tab_promise2);
  StronicowyParser.muteks.odblokuj();
  if(tab_promise2){tab_promise2.zwolnij();}
  
  function Progress(){
	var c=document.createElement('div');
	c.setAttribute("id","pasek_postępu")
	c.setAttribute('style','line-height:1.2em;margin-top:-2px;margin-left:-2px;position:absolute;width:250px;height:80px;border:1px solid black;box-sizing:border-box;padding:6px;background-color:white;display:flex;flex-direction:column;box-sizing:border-box;');
	var label=document.createElement('label');
	label.setAttribute('for','file1');
	label.innerHTML="<span style=\"color:blue;\">Ukończone wątki: </span>";
	label.setAttribute('style','font-size:17px;padding-right:10px;padding-left:10px;height:100%;box-sizing:border-box;');
	
	var span=document.createElement('span');
	span.innerHTML="0%";
	var span_0=label.appendChild(span);
	
	c.appendChild(label);
	var progress=document.createElement('progress');
	progress.innerHTML="0%";
	progress.setAttribute('id','file1')
	progress.setAttribute('style','margin-left:5px;width:95%;height:100%;box-sizing:border-box;');
	progress.setAttribute("max","100");
	progress.setAttribute('value',"0");
	var element_body_progress_1=c.appendChild(progress);
	
	var label=document.createElement('label');
	label.setAttribute('for','file2');
	label.innerHTML="<span style=\"color:blue;\">Zwolnione blokaty: </span>";
	label.setAttribute('style','font-size:17px;padding-right:10px;padding-left:10px;height:100%;box-sizing:border-box;');
	
	var span=document.createElement('span');
	span.innerHTML="0%";
	var span_1=label.appendChild(span);
	
	c.appendChild(label);
	var progress=document.createElement('progress');
	progress.innerHTML="0%";
	progress.setAttribute('id','file2')
	progress.setAttribute('style','margin-left:5px;width:95%;height:100%;box-sizing:border-box;')
	progress.setAttribute("max","100");
	progress.setAttribute('value',"0");
	var element_body_progress_2=c.appendChild(progress);
	
	function PozycjaXY(){
		c.style.top=(window.scrollY+document.documentElement.clientHeight-parseFloat(c.style.height))+"px";
		c.style.left=(window.scrollX+document.documentElement.clientWidth-parseFloat(c.style.width))+"px";
	}
	document.querySelector('body').appendChild(c);
	PozycjaXY();
	$(window).on('scroll',PozycjaXY);
	$(window).on('resize',PozycjaXY);
	return new Array(element_body_progress_1,element_body_progress_2,span_0,span_1);
}
  var arr;
  function __FUNKCJA(arr){
  		arr[0].setAttribute("value","0");
    	arr[1].setAttribute("value","0");
                                  
    	let dodatnie_0=tab_promise2.lengthPlus;
    	let ujemne_0=tab_promise2.lengthMinus;
    	
    	console.log(dodatnie_0,ujemne_0,"Ukończone wątki.",tab_promise2.length)
                                       
        let dodatnie_1=StronicowyParser.muteks.LiczbaBlokatPlus;
    	let ujemne_1=StronicowyParser.muteks.LiczbaBlokatMinus;
                                            	
        let postep_0=((dodatnie_0>0)?((ujemne_0/dodatnie_0)*100):0);
        let postep_1=((dodatnie_1>0)?((ujemne_1/dodatnie_1)*100):0);
        
        arr[0].setAttribute("value",postep_0);
        arr[1].setAttribute("value",postep_1);
        arr[2].innerHTML=(parseInt(postep_0*1000)/1000)+"%";
        arr[3].innerHTML=(parseInt(postep_1*1000)/1000)+"%";
  }
  StronicowyParser.CzekajNaZakaczenie(tab_promise2,null,StronicowyParser.muteks,(tab_promise)=>{arr=Progress();__FUNKCJA(arr);},(tab_promise)=>{__FUNKCJA(arr);},(tab_promise)=>{__FUNKCJA(arr);setTimeout(function(){let node_postep=document.getElementById('pasek_postępu');$(node_postep).remove();},2000);}).then(async (result) => {}).catch(()=>{});
};
StronicowyParser.WyswietlStronyKsiazki().then((result) => {}).catch((error) => {});
});