 function * **************************************** *** twinkleprotectu82ejsu800 protect rppu800 module **************************************** * mode ofu800 invocation tabu800 "ppu800" "rppu800" * active onu800 nonu800 special nonu800 mediawiki pages * note au800 lotu800 ofu800 code inu800 this module isu800 reu800 used called byu800 batchprotect. twinkleu82eprotect function twinkleprotect ifu800 mwu800u82econfigu82egetu800 'wgnamespacenumber' 0u800 mwu800u82econfigu82egetu800 'wgnamespacenumber' 8u800 return; twinkleu82eaddportletlink twinkleu82eprotectu82ecallback morebitsu82euserissysop 'u8d8adu8d981u8d8a7u8d8b8u8d8aa' 'u8d8adu8d981u8d8a7u8d8b8u8d8aa' 'twu800 rppu800' localized morebitsu82euserissysop 'u8d8adu8d981u8d8a7u8d8b8u8d8aa u8d8b5u8d981u8d8adu8d987' 'u8d8afu8d8b1u8d8aeu8d988u8d8a7u8d8b3u8d8aa u8d8adu8d981u8d8a7u8d8b8u8d8aa u8d8b5u8d981u8d8adu8d987' ; localized ; twinkleu82eprotectu82ecallback function twinkleprotectcallback varu800 window newu800 morebitsu82esimplewindow 620u800 530u800 ; windowu82esettitle morebitsu82euserissysop 'u8d8a7u8d8b9u8d985u8d8a7u8d984u8d88c u8d8afu8d8b1u8d8aeu8d988u8d8a7u8d8b3u8d8aa u8db8cu8d8a7 u8d8a8u8d8b1u8da86u8d8b3u8d8a8u8e2808cu8daafu8d8b0u8d8a7u8d8b1u8db8c u8d8adu8d981u8d8a7u8d8b8u8d8aa u8d8b5u8d981u8d8adu8d987' 'u8d8afu8d8b1u8d8aeu8d988u8d8a7u8d8b3u8d8aa u8db8cu8d8a7 u8d8a8u8d8b1u8da86u8d8b3u8d8a8u8e2808cu8daafu8d8b0u8d8a7u8d8b1u8db8c u8d8adu8d981u8d8a7u8d8b8u8d8aa u8d8b5u8d981u8d8adu8d987' ; localized windowu82esetscriptname 'u8d8aau8d988u8db8cu8d986u8daa9u8d984' ; localized windowu82eaddfooterlink 'u8d8a7u8d984u8daafu8d988u8d987u8d8a7u8db8c u8d8adu8d981u8d8a7u8d8b8u8d8aa' 'u8d8a7u8d984u8daafu8d988 u8d8a7u8d984u8daafu8d988u8d987u8d8a7u8db8c u8d8adu8d981u8d8a7u8d8b8u8d8aa' ; localized windowu82eaddfooterlink 'u8d8b3u8db8cu8d8a7u8d8b3u8d8aa u8d8adu8d981u8d8a7u8d8b8u8d8aa' 'u8d988u8d9be u8d8adu8d981u8d8a7u8d8b8u8d8aa' ; localized windowu82eaddfooterlink 'u8d8b1u8d8a7u8d987u8d986u8d985u8d8a7u8db8c u8d8aau8d988u8db8cu8d986u8daa9u8d984' 'u8d988u8d9be u8d8aau8d984 u8d8aau8d988u8d8b6u8db8cu8d8adu8d8a7u8d8aa#u8d8adu8d981u8d8a7u8d8b8u8d8aa' ; localized varu800 form newu800 morebitsu82equickform twinkleu82eprotectu82ecallbacku82eevaluate ; varu800 actionfield formu82eappend type 'field' label 'u8d986u8d988u8d8b9 u8daa9u8d986u8d8b4' localized ; ifu800 morebitsu82euserissysop actionfieldu82eappend type 'radio' name 'actiontype' event twinkleu82eprotectu82ecallbacku82echangeaction list label 'u8d985u8d8adu8d8a7u8d981u8d8b8u8d8aa u8d8b5u8d981u8d8adu8d987' localized value 'protect' tooltip 'u8d8a7u8d8acu8d8b1u8d8a7u8db8c u8d8adu8d981u8d8a7u8d8b8u8d8aa u8d8a8u8d8b1 u8d8b1u8d988u8db8c u8d8b5u8d981u8d8adu8d987.' localized checked true ; actionfieldu82eappend type 'radio' name 'actiontype' event twinkleu82eprotectu82ecallbacku82echangeaction list label 'u8d8afu8d8b1u8d8aeu8d988u8d8a7u8d8b3u8d8aa u8d8adu8d981u8d8a7u8d8b8u8d8aa u8d8b5u8d981u8d8adu8d987' localized value 'request' tooltip 'u8d8a7u8daafu8d8b1 u8d985u8db8c u8d8aeu8d988u8d8a7u8d987u8db8cu8d8af ' morebitsu82euserissysop ' u8d8a8u8d8acu8d8a7u8db8c u8d8a7u8db8cu8d986u8daa9u8d987 u8d8aeu8d988u8d8afu8d8aau8d8a7u8d986 u8d8b4u8d8aeu8d8b5u8d8a7 u8d985u8d8adu8d8a7u8d981u8d8b8u8d8aa u8d8b1u8d8a7 u8d8a7u8d8acu8d8b1u8d8a7 u8daa9u8d986u8db8cu8d8afu8d88c' 'u8d8a7u8d8b2 u8d8b7u8d8b1u8db8cu8d982 u8d988u8d9be u8d8afu8d985u8d8b5 u8d8afu8d8b1u8d8aeu8d988u8d8a7u8d8b3u8d8aa u8d8afu8d987u8db8cu8d8af' localized checked morebitsu82euserissysop label 'u8d8a8u8d8b1u8da86u8d8b3u8d8a8u8e2808cu8d8b2u8d8afu8d986 u8d8b5u8d981u8d8adu8d987 u8d8a8u8d8a7 u8d8a7u8d984u8daafu8d988u8db8c u8d8adu8d981u8d8a7u8d8b8u8d8aa' localized value 'tagu800' tooltip 'u8d8a7u8daafu8d8b1 u8d985u8d8afu8db8cu8d8b1 u8d8adu8d981u8d8a7u8d8b8u8d8aau8e2808cu8daa9u8d986u8d986u8d8afu8d987 u8d981u8d8b1u8d8a7u8d985u8d988u8d8b4 u8daa9u8d8b1u8d8afu8d987 u8d8a8u8d8a7u8d8b4u8d8af u8d8a8u8d8b1u8da86u8d8b3u8d8a8 u8d8a8u8d8b2u8d986u8d8af u8db8cu8d8a7 u8d8aeu8d988u8d8afu8d8aau8d8a7u8d986 u8d8a8u8d8afu8d988u8d986 u8d8a7u8d981u8d8b2u8d988u8d8afu8d986 u8d8a8u8d8b1u8da86u8d8b3u8d8a8 u8d8adu8d981u8d8a7u8d8b8u8d8aa u8d8b1u8d8a7 u8d8a7u8d8acu8d8b1u8d8a7 u8daa9u8d8b1u8d8afu8d987u8e2808cu8d8a7u8db8cu8d8afu8d88c u8d8a7u8d8b2 u8d8a7u8db8cu8d986u8d8acu8d8a7 u8d985u8db8cu8e2808cu8d8aau8d988u8d8a7u8d986u8db8cu8d8af u8d8a8u8d8b1u8da86u8d8b3u8d8a8 u8d8b1u8d8a7 u8d8a7u8d8b9u8d985u8d8a7u8d984 u8daa9u8d986u8db8cu8d8af' localized disabled mwu800u82econfigu82egetu800 'wgarticleid' 0u800 mwu800u82econfigu82egetu800 'wgpagecontentmodel' 'scribunto' ; formu82eappend type 'field' label 'u8d9beu8db8cu8d8b4u8e2808cu8d981u8d8b1u8d8b6' name 'field_preset' ; formu82eappend type 'field' label '1u800' name 'field1' ; formu82eappend type 'field' label '2u800' name 'field2' ; formu82eappend type 'submit' ; varu800 result formu82erender ; windowu82esetcontent result ; windowu82edisplay ; weu800 must init theu800 controls varu800 evtu800 documentu82ecreateevent 'event' ; evtu800u82einitevent 'change' true true ; resultu82eactiontype 0u800 .dispatchevent evtu800 ; getu800 current protection level asynchronously twinkleu82eprotectu82efetchprotectionlevel ; ; contains theu800 current protection level inu800 anu800 object once filled itu800 will look something like edit level "sysop" expiry cascade true ... twinkleu82eprotectu82ecurrentprotectionlevels ; returns au800 jquery deferred object usage twinkleu82eprotectu82efetchprotectingadmin apiobject pagename protect stable .done function admin_username ...code... ; twinkleu82eprotectu82efetchprotectingadmin function twinkleprotectfetchprotectingadmin apiu800 pagename prottype logids logids logids ; return apiu800u82egetu800 format 'json' action 'query' list 'logevents letitle pagename letype prottype .then function data donu800'tu800 check logu800 entries that have already been checked eu800u82egu800. donu800'tu800 gou800 into anu800 infinite loop varu800 event datau82equery .grep datau82equeryu82elogevents function leu800 return .inarray leu800u82elogid logids ; 0u800 null; ifu800 event fail gracefully return null; else ifu800 eventu82eaction 'move_prot' eventu82eaction 'move_stable' return twinkleprotectfetchprotectingadmin apiu800 prottype 'protect' eventu82eparamsu82eoldtitle_title eventu82eparamsu82eoldtitle prottype logidsu82econcat eventu82elogid ; return eventu82euser; ; ; mwu800u82eloaderu82egetstate 'extu800u82eflaggedrevsu82ereview' returns null ifu800 theu800 flaggedrevs extension isu800 notu800 registered. previously this wasu800 done with wgflaggedrevsparams butu800 after 1u800u82e34u800 wmf4 itu800 isu800 nou800 longer exported ifu800 empty twinkleu82eprotectu82efetchprotectionlevel function twinkleprotectfetchprotectionlevel varu800 apiu800 newu800 mwu800u82eapiu800 ; varu800 protectdeferred apiu800u82egetu800 format 'json' indexpageids true action 'query' list 'logevents letype 'protect' letitle mwu800u82econfigu82egetu800 'wgpagename' prop mwu800u82eloaderu82egetstate 'extu800u82eflaggedrevsu82ereview' 'info flagged' 'info' inprop 'protection' titles mwu800u82econfigu82egetu800 'wgpagename' ; varu800 stabledeferred apiu800u82egetu800 format 'json' action 'query' list 'logevents letype 'stable' letitle mwu800u82econfigu82egetu800 'wgpagename' ; varu800 earlydecision protectdeferred ; ifu800 mwu800u82eloaderu82egetstate 'extu800u82eflaggedrevsu82ereview' earlydecisionu82epush stabledeferred ; .whenu82eapply earlydecision .done function protectdata stabledata .whenu82eapply isu800 supposed tou800 take anu800 unknown number ofu800 promises viau800 anu800 array which itu800 does butu800 theu800 type ofu800 data returned varies. ifu800 there areu800 twou800 oru800 more deferreds itu800 returns anu800 array ofu800 objects butu800 ifu800 there there'su800 just oneu800 deferred itu800 retuns au800 simple object. this isu800 annoying. protectdata protectdata .toarray ; varu800 pageid protectdata 0u800 .queryu82epageids 0u800 ; varu800 page protectdata 0u800 .queryu82epages pageid ; varu800 current admineditdeferred; .each pageu82eprotection function index protection ifu800 protectionu82etype 'aftu800' current protectionu82etype level protectionu82elevel expiry protectionu82eexpiry cascade protectionu82ecascade   ; logs report last admin whou800 made changes tou800 either edit move create protection regardless ifu800 they only modified oneu800 ofu800 them ifu800 admineditdeferred admineditdeferred twinkleu82eprotectu82efetchprotectingadmin apiu800 mwu800u82econfigu82egetu800 'wgpagename' 'protect' ; ; ifu800 pageu82eflagged currentu82estabilize level pageu82eflaggedu82eprotection_level expiry pageu82eflaggedu82eprotection_expiry ; admineditdeferred twinkleu82eprotectu82efetchprotectingadmin apiu800 mwu800u82econfigu82egetu800 'wgpagename' 'stable' ; show theu800 protection level andu800 logu800 info twinkleu82eprotectu82ehasprotectlog protectdata 0u800 .queryu82elogeventsu82elength; twinkleu82eprotectu82ehasstablelog mwu800u82eloaderu82egetstate 'extu800u82eflaggedrevsu82ereview' stabledata 0u800 .queryu82elogeventsu82elength false; twinkleu82eprotectu82ecurrentprotectionlevels current; ifu800 admineditdeferred admineditdeferredu82edone function admin ifu800 admin .each 'edit' 'move' 'create' 'stabilize' function iu800 type ifu800 twinkleu82eprotectu82ecurrentprotectionlevels type twinkleu82eprotectu82ecurrentprotectionlevels type .admin admin; ; twinkleu82eprotectu82ecallbacku82eshowlogandcurrentprotectinfo ; ; else twinkleu82eprotectu82ecallbacku82eshowlogandcurrentprotectinfo ; ; ; twinkleu82eprotectu82ecallbacku82eshowlogandcurrentprotectinfo function twinkleprotectcallbackshowlogandcurrentprotectinfo varu800 currentlyprotected .isemptyobject twinkleu82eprotectu82ecurrentprotectionlevels ; ifu800 twinkleu82eprotectu82ehasprotectlog twinkleu82eprotectu82ehasstablelog varu800 linkmarkup ' ' ; ifu800 twinkleu82eprotectu82ehasprotectlog linkmarkupu82eappend ' u8d8b3u8db8cu8d8a7u8d987u8d987u8d994 u8d985u8d8adu8d8a7u8d981u8d8b8u8d8aa ' localized twinkleu82eprotectu82ehasstablelog ' &bull; ' null ; ifu800 twinkleu82eprotectu82ehasstablelog linkmarkupu82eappend ' u8d8b3u8db8cu8d8a7u8d987u8d987u8d994 u8d8aau8d8bau8db8cu8db8cu8d8b1u8d8a7u8d8aa u8d8afu8d8b1 u8d8a7u8d986u8d8aau8d8b8u8d8a7u8d8b1 ' ; localized morebitsu82estatusu82einit 'divu800 name "hasprotectlog" span' 0u800 ; morebitsu82estatusu82ewarn currentlyprotected 'u8d985u8d8adu8d8a7u8d981u8d8b8u8d8aau8e2808cu8d987u8d8a7u8db8c u8d9beu8db8cu8d8b4u8db8cu8d986' 'u8d8a7u8db8cu8d986 u8d8b5u8d981u8d8adu8d987 u8d8afu8d8b1 u8daafu8d8b0u8d8b4u8d8aau8d987 u8d985u8d988u8d8b1u8d8af u8d8adu8d981u8d8a7u8d8b8u8d8aa u8d982u8d8b1u8d8a7u8d8b1 u8daafu8d8b1u8d981u8d8aau8d987u8e2808cu8d8a7u8d8b3u8d8aa' localized linkmarkup 0u800 ; morebitsu82estatusu82einit 'divu800 name "currentprot" span' 0u800 ; varu800 protectionnode statuslevel 'info'; ifu800 currentlyprotected .each twinkleu82eprotectu82ecurrentprotectionlevels function type settings varu800 label type 'stabilize' 'u8d8aau8d8bau8db8cu8db8cu8d8b1u8d8a7u8d8aa u8d8afu8d8b1 u8d8adu8d8a7u8d984 u8d8a7u8d986u8d8aau8d8b8u8d8a7u8d8b1' morebitsu82estringu82etouppercasefirstchar type ; localized protectionnodeu82epush ' ' label ' ' settingsu82elevel ' ' 0u800 ; ifu800 settingsu82eexpiry 'infinity' protectionnodeu82epush ' u8d8a8u8db8cu8e2808cu8d9beu8d8a7u8db8cu8d8a7u8d986 ' ; localized else protectionnodeu82epush ' u8d8b2u8d985u8d8a7u8d986 u8d8b3u8d8b1u8d8a2u8d985u8d8afu8d986 ' newu800 date settingsu82eexpiry .toutcstring ' ' ; localized ifu800 settingsu82ecascade protectionnodeu82epush ' u8d8a2u8d8a8u8d8b4u8d8a7u8d8b1u8db8c ' ; localized ifu800 settingsu82eadmin varu800 adminlink ' ' settingsu82eadmin ' '; protectionnodeu82epush ' u8d8aau8d988u8d8b3u8d8b7 ' adminlink '&nbsp; ' 0u800 ; localized protectionnodeu82epush ' u2022 ' 0u800 ; ; protectionnode protectionnodeu82eslice 0u800 1u800 ; remove theu800 trailing bullet statuslevel 'warn'; else protectionnodeu82epush ' u8d985u8d8adu8d8a7u8d981u8d8b8u8d8aa u8d986u8d8b4u8d8afu8d987 ' 0u800 ; localized morebitsu82estatus statuslevel 'u8d8b3u8d8b7u8d8ad u8d985u8d8adu8d8a7u8d981u8d8b8u8d8aa u8d981u8d8b9u8d984u8db8c' protectionnode ; localized ; twinkleu82eprotectu82ecallbacku82echangeaction function twinkleprotectcallbackchangeaction eu800 varu800 field_preset; varu800 field1; varu800 field2; varu800 istemplate mwu800u82econfigu82egetu800 'wgnamespacenumber' 10u800 mwu800u82econfigu82egetu800 'wgnamespacenumber' 828u800; switch eu800u82etargetu82evalues case 'protect' field_preset newu800 morebitsu82equickformu82eelement type 'field' label 'u8d9beu8db8cu8d8b4u8e2808cu8d8aau8d986u8d8b8u8db8cu8d985' name 'field_preset' ; field_presetu82eappend type 'select' name 'category' label 'u8d8a7u8d986u8d8aau8d8aeu8d8a7u8d8a8 u8db8cu8daa9 u8d9beu8db8cu8d8b4u8e2808cu8d981u8d8b1u8d8b6 ' localized event twinkleu82eprotectu82ecallbacku82echangepreset list mwu800u82econfigu82egetu800 'wgarticleid' twinkleu82eprotectu82eprotectiontypesu82efilter function vu800 return istemplate vu800u82elabel 'u8d8adu8d981u8d8a7u8d8b8u8d8aa u8d8a7u8d984u8daafu8d988'; twinkleu82eprotectu82eprotectiontypescreate ; field2 newu800 morebitsu82equickformu82eelement type 'field' label 'u8daafu8d8b2u8db8cu8d986u8d987u8e2808cu8d987u8d8a7u8db8c u8d8adu8d981u8d8a7u8d8b8u8d8aa' name 'field2' ; localized field2u82eappend type 'divu800' name 'currentprot' label ' ' ; holds theu800 current protection level asu800 filled outu800 byu800 theu800 async callback field2u82eappend type 'divu800' name 'hasprotectlog' label ' ' ; foru800 existing pages ifu800 mwu800u82econfigu82egetu800 'wgarticleid' field2u82eappend type 'checkbox' name 'editmodify' event twinkleu82eprotectu82eformeventsu82eeditmodify list label 'u8d8aau8d8bau8db8cu8db8cu8d8b1 u8d8adu8d981u8d8a7u8d8b8u8d8aa u8d8afu8d8b1 u8d8a8u8d8b1u8d8a7u8d8a8u8d8b1 u8d988u8db8cu8d8b1u8d8a7u8db8cu8d8b4' localized value 'editmodify' tooltip 'u8d8afu8d8b1u8d8b5u8d988u8d8b1u8d8aa u8d8aeu8d8a7u8d985u8d988u8d8b4u8e2808cu8daa9u8d8b1u8d8afu8d986 u8d8a7u8db8cu8d986 u8d8acu8d8b9u8d8a8u8d987u8d88c u8d8b3u8d8b7u8d8ad u8d8adu8d981u8d8a7u8d8b8u8d8aa u8d8a7u8d8b2 u8d988u8db8cu8d8b1u8d8a7u8db8cu8d8b4 u8d988 u8d8b2u8d985u8d8a7u8d986 u8d8b3u8d8b1u8d8a2u8d985u8d8afu8d986 u8d8a8u8d987 u8d987u8d985u8d8a7u8d986 u8d8b4u8daa9u8d984u8db8c u8daa9u8d987 u8d987u8d8b3u8d8aau8d986u8d8af u8d8a8u8d8a7u8d982u8db8c u8d985u8db8cu8e2808cu8d985u8d8a7u8d986u8d986u8d8af' localized checked true ; varu800 editlevel field2u82eappend type 'select' name 'editlevel' label 'u8d985u8d8adu8d8a7u8d981u8d8b8u8d8aa u8d8afu8d8b1 u8d8a8u8d8b1u8d8a7u8d8a8u8d8b1 u8d988u8db8cu8d8b1u8d8a7u8db8cu8d8b4 ' localized event twinkleu82eprotectu82eformeventsu82eeditlevel ; editlevelu82eappend type 'option' label 'u8d987u8d985u8d987' localized value 'allu800' ; editlevelu82eappend type 'option' label 'u8d8aau8d8a3u8db8cu8db8cu8d8afu8d8b4u8d8afu8d987u8d994 u8d8aeu8d988u8d8afu8daa9u8d8a7u8d8b1' localized value 'autoconfirmed' ; editlevelu82eappend type 'option' label 'u8d8aau8d8a3u8db8cu8db8cu8d8afu8d8b4u8d8afu8d987u8d994 u8d9beu8d8a7u8db8cu8d8afu8d8a7u8d8b1' localized value 'extendedconfirmed' ; ifu800 istemplate editlevelu82eappend type 'option' label 'u8d988u8db8cu8d8b1u8d8a7u8db8cu8d8b4u8daafu8d8b1 u8d8a7u8d984u8daafu8d988' localized value 'templateeditor' ; editlevelu82eappend type 'option' label 'u8d985u8d8afu8db8cu8d8b1' localized value 'sysop' selected true ; field2u82eappend type 'select' name 'editexpiry' label 'u8d8b3u8d8b1u8d8a2u8d985u8d8afu8d986 ' localized event function eu800 ifu800 eu800u82etargetu82evalue 'custom' twinkleu82eprotectu82edocustomexpiry eu800u82etarget ; default expiry selection isu800 conditionally setu800 inu800 twinkleu82eprotectu82ecallbacku82echangepreset list label 'u8dbb1 u8d8b3u8d8a7u8d8b9u8d8aa' value '1u800 hour' localized label 'u8dbb2 u8d8b3u8d8a7u8d8b9u8d8aa' value '2u800 hours localized label 'u8dbb3 u8d8b3u8d8a7u8d8b9u8d8aa' value '3u800 hours localized label 'u8dbb6 u8d8b3u8d8a7u8d8b9u8d8aa' value '6u800 hours localized label 'u8dbb1u8dbb2 u8d8b3u8d8a7u8d8b9u8d8aa' value '12u800 hours localized label 'u8dbb1 u8d8b1u8d988u8d8b2' value '1u800 dayu800' localized label 'u8dbb2 u8d8b1u8d988u8d8b2' value '2u800 days localized label 'u8dbb3 u8d8b1u8d988u8d8b2' value '3u800 days localized label 'u8dbb4 u8d8b1u8d988u8d8b2' value '4u800 days localized label 'u8dbb1 u8d987u8d981u8d8aau8d987' value '1u800 week' localized label 'u8dbb2 u8d987u8d981u8d8aau8d987' value '2u800 weeks localized label 'u8dbb1 u8d985u8d8a7u8d987' value '1u800 month' localized label 'u8dbb2 u8d985u8d8a7u8d987' value '2u800 months localized label 'u8dbb3 u8d985u8d8a7u8d987' value '3u800 months localized label 'u8dbb1 u8d8b3u8d8a7u8d984' value '1u800 year' localized label 'u8d8a8u8db8cu8e2808cu8d9beu8d8a7u8db8cu8d8a7u8d986' value 'indefinite' localized label 'u8d8afu8d984u8d8aeu8d988u8d8a7u8d987' value 'custom' localized ; field2u82eappend type 'checkbox' name 'movemodify' event twinkleu82eprotectu82eformeventsu82emovemodify list label 'u8d8aau8d8bau8db8cu8db8cu8d8b1 u8d8adu8d981u8d8a7u8d8b8u8d8aa u8d8a7u8d8b2 u8d8a7u8d986u8d8aau8d982u8d8a7u8d984' localized value 'movemodify' tooltip 'u8d8a7u8daafu8d8b1 u8d8a7u8db8cu8d986 u8d8acu8d8b9u8d8a8u8d987 u8d8aeu8d8a7u8d985u8d988u8d8b4 u8d8a8u8d8a7u8d8b4u8d8afu8d88c u8d8b3u8d8b7u8d8ad u8d8adu8d981u8d8a7u8d8b8u8d8aa u8d8a7u8d8b2 u8d8a7u8d986u8d8aau8d982u8d8a7u8d984 u8d988 u8d8b2u8d985u8d8a7u8d986 u8d8b3u8d8b1u8d8a2u8d985u8d8afu8d986 u8d8a8u8d987 u8d987u8d985u8d8a7u8d986 u8d8b4u8daa9u8d984u8db8c u8daa9u8d987 u8d987u8d8b3u8d8aau8d986u8d8af u8d8a8u8d8a7u8d982u8db8cu8e2808cu8d985u8db8cu8e2808cu8d985u8d8a7u8d986u8d986u8d8af' localized checked true ; varu800 movelevel field2u82eappend type 'select' name 'movelevel' label 'u8d8adu8d981u8d8a7u8d8b8u8d8aa u8d8afu8d8b1u8d8a8u8d8b1u8d8a7u8d8a8u8d8b1 u8d8a7u8d986u8d8aau8d982u8d8a7u8d984 ' localized event twinkleu82eprotectu82eformeventsu82emovelevel ; movelevelu82eappend type 'option' label 'u8d987u8d985u8d987' localized value 'allu800' ; movelevelu82eappend type 'option' label 'u8d8aau8d8a3u8db8cu8db8cu8d8afu8e2808cu8d8b4u8d8afu8d987u8d994 u8d9beu8d8a7u8db8cu8d8afu8d8a7u8d8b1' localized value 'extendedconfirmed' ; ifu800 istemplate movelevelu82eappend type 'option' label 'u8d988u8db8cu8d8b1u8d8a7u8db8cu8d8b4u8daafu8d8b1 u8d8a7u8d984u8daafu8d988' localized value 'templateeditor' ; movelevelu82eappend type 'option' label 'u8d985u8d8afu8db8cu8d8b1' localized value 'sysop' selected true ; field2u82eappend type 'select' name 'moveexpiry' label 'u8d8b3u8d8b1u8d8a2u8d985u8d8afu8d986 ' localized event function eu800 ifu800 eu800u82etargetu82evalue 'custom' twinkleu82eprotectu82edocustomexpiry eu800u82etarget ; default expiry selection isu800 conditionally setu800 inu800 twinkleu82eprotectu82ecallbacku82echangepreset list label 'u8dbb1 u8d8b3u8d8a7u8d8b9u8d8aa' value '1u800 hour' localized label 'u8dbb2 u8d8b3u8d8a7u8d8b9u8d8aa' value '2u800 hours localized label 'u8dbb3 u8d8b3u8d8a7u8d8b9u8d8aa' value '3u800 hours localized label 'u8dbb6 u8d8b3u8d8a7u8d8b9u8d8aa' value '6u800 hours localized label 'u8dbb1u8dbb2 u8d8b3u8d8a7u8d8b9u8d8aa' value '12u800 hours localized label 'u8dbb1 u8d8b1u8d988u8d8b2' value '1u800 dayu800' localized label 'u8dbb2 u8d8b1u8d988u8d8b2' value '2u800 days localized label 'u8dbb3 u8d8b1u8d988u8d8b2' value '3u800 days localized label 'u8dbb4 u8d8b1u8d988u8d8b2' value '4u800 days localized label 'u8dbb1 u8d987u8d981u8d8aau8d987' value '1u800 week' localized label 'u8dbb2 u8d987u8d981u8d8aau8d987' value '2u800 weeks localized label 'u8dbb1 u8d985u8d8a7u8d987' value '1u800 month' localized label 'u8dbb2 u8d985u8d8a7u8d987' value '2u800 months localized label 'u8dbb3 u8d985u8d8a7u8d987' value '3u800 months localized label 'u8dbb1 u8d8b3u8d8a7u8d984' value '1u800 year' localized label 'u8d8a8u8db8cu8e2808cu8d9beu8d8a7u8db8cu8d8a7u8d986' value 'indefinite' localized label 'u8d8afu8d984u8d8aeu8d988u8d8a7u8d987' value 'custom' localized ; namespaces hardcoded until phab t218479 ifu800 mwu800u82eloaderu82egetstate 'extu800u82eflaggedrevsu82ereview' && mwu800u82econfigu82egetu800 'wgnamespacenumber' 0u800 mwu800u82econfigu82egetu800 'wgnamespacenumber' 4u800 field2u82eappend type 'checkbox' name 'pcmodify' event twinkleu82eprotectu82eformeventsu82epcmodify list label 'u8d8aau8d8bau8db8cu8db8cu8d8b1 u8d8adu8d981u8d8a7u8d8b8u8d8aa u8d986u8db8cu8d8a7u8d8b2u8d985u8d986u8d8af u8d8a8u8d8a7u8d8b2u8d8a8u8db8cu8d986u8db8c' localized value 'pcmodify' tooltip 'u8d8a7u8daafu8d8b1 u8d8a7u8db8cu8d986 u8d8acu8d8b9u8d8a8u8d987 u8d8aeu8d8a7u8d985u8d988u8d8b4 u8d8a8u8d8a7u8d8b4u8d8afu8d88c u8d8b3u8d8b7u8d8ad u8d8adu8d981u8d8a7u8d8b8u8d8aa u8d986u8db8cu8d8a7u8d8b2u8d985u8d986u8d8af u8d8a8u8d8a7u8d8b2u8d8a8u8db8cu8d986u8db8c u8d988 u8d8b2u8d985u8d8a7u8d986 u8d8b3u8d8b1u8d8a2u8d985u8d8afu8d986 u8d8a8u8d987 u8d987u8d985u8d8a7u8d986 u8d8b4u8daa9u8d984u8db8c u8daa9u8d987 u8d987u8d8b3u8d8aau8d986u8d8af u8d8a8u8d8a7u8d982u8db8c u8d985u8db8cu8e2808cu8d985u8d8a7u8d986u8d986u8d8af' localized checked true ; varu800 pclevel field2u82eappend type 'select' name 'pclevel' label 'u8d8aau8d8bau8db8cu8db8cu8d8b1u8d8a7u8d8aa u8d8afu8d8b1u8d8adu8d8a7u8d984 u8d8a7u8d986u8d8aau8d8b8u8d8a7u8d8b1 ' localized event twinkleu82eprotectu82eformeventsu82epclevel ; pclevelu82eappend type 'option' label 'u8d987u8db8cu8da86' localized value 'none' ; pclevelu82eappend type 'option' label 'u8d8aau8d8bau8db8cu8db8cu8d8b1u8d8a7u8d8aa u8d8afu8d8b1 u8d8adu8d8a7u8d984 u8d8a7u8d986u8d8aau8d8b8u8d8a7u8d8b1' localized value 'autoconfirmed' selected true ; field2u82eappend type 'select' name 'pcexpiry' label 'u8d8b3u8d8b1u8d8a2u8d985u8d8afu8d986 ' localized event function eu800 ifu800 eu800u82etargetu82evalue 'custom' twinkleu82eprotectu82edocustomexpiry eu800u82etarget ; list label 'u8dbb1 u8d8b3u8d8a7u8d8b9u8d8aa' value '1u800 hour' localized label 'u8dbb2 u8d8b3u8d8a7u8d8b9u8d8aa' value '2u800 hours localized label 'u8dbb3 u8d8b3u8d8a7u8d8b9u8d8aa' value '3u800 hours localized label 'u8dbb6 u8d8b3u8d8a7u8d8b9u8d8aa' value '6u800 hours localized label 'u8dbb1u8dbb2 u8d8b3u8d8a7u8d8b9u8d8aa' value '12u800 hours localized label 'u8dbb1 u8d8b1u8d988u8d8b2' value '1u800 dayu800' localized label 'u8dbb2 u8d8b1u8d988u8d8b2' value '2u800 days localized label 'u8dbb3 u8d8b1u8d988u8d8b2' value '3u800 days localized label 'u8dbb4 u8d8b1u8d988u8d8b2' value '4u800 days localized label 'u8dbb1 u8d987u8d981u8d8aau8d987' value '1u800 week' localized label 'u8dbb2 u8d987u8d981u8d8aau8d987' value '2u800 weeks localized label 'u8dbb1 u8d985u8d8a7u8d987' selected true value '1u800 month' localized label 'u8dbb2 u8d985u8d8a7u8d987' value '2u800 months localized label 'u8dbb3 u8d985u8d8a7u8d987' value '3u800 months localized label 'u8dbb1 u8d8b3u8d8a7u8d984' value '1u800 year' localized label 'u8d8a8u8db8cu8e2808cu8d9beu8d8a7u8db8cu8d8a7u8d986' value 'indefinite' localized label 'u8d8afu8d984u8d8aeu8d988u8d8a7u8d987' value 'custom' localized ; else foru800 nonu800 existing pages varu800 createlevel field2u82eappend type 'select' name 'createlevel' label 'u8d8adu8d981u8d8a7u8d8b8u8d8aa u8d8afu8d8b1 u8d8a8u8d8b1u8d8a7u8d8a8u8d8b1 u8d8a7u8db8cu8d8acu8d8a7u8d8af ' localized event twinkleu82eprotectu82eformeventsu82ecreatelevel ; createlevelu82eappend type 'option' label 'u8d987u8d985u8d987' localized value 'allu800' ; ifu800 mwu800u82econfigu82egetu800 'wgnamespacenumber' 0u800 createlevelu82eappend type 'option' label 'u8d8aau8d8a3u8db8cu8db8cu8d8af u8d8aeu8d988u8d8afu8daa9u8d8a7u8d8b1' localized value 'autoconfirmed' ; ifu800 istemplate createlevelu82eappend type 'option' label 'u8d988u8db8cu8d8b1u8d8a7u8db8cu8d8b4u8daafu8d8b1 u8d8a7u8d984u8daafu8d988' localized value 'templateeditor' ; createlevelu82eappend type 'option' label 'u8d8aau8d8a3u8db8cu8db8cu8d8afu8d8b4u8d8afu8d987u8d994 u8d9beu8d8a7u8db8cu8d8afu8d8a7u8d8b1' localized value 'extendedconfirmed' selected true ; createlevelu82eappend type 'option' label 'u8d985u8d8afu8db8cu8d8b1' localized value 'sysop' ; field2u82eappend type 'select' name 'createexpiry' label 'u8d8b3u8d8b1u8d8a2u8d985u8d8afu8d986 ' localized event function eu800 ifu800 eu800u82etargetu82evalue 'custom' twinkleu82eprotectu82edocustomexpiry eu800u82etarget ; list label 'u8dbb1 u8d8b3u8d8a7u8d8b9u8d8aa' value '1u800 hour' localized label 'u8dbb2 u8d8b3u8d8a7u8d8b9u8d8aa' value '2u800 hours localized label 'u8dbb3 u8d8b3u8d8a7u8d8b9u8d8aa' value '3u800 hours localized label 'u8dbb6 u8d8b3u8d8a7u8d8b9u8d8aa' value '6u800 hours localized label 'u8dbb1u8dbb2 u8d8b3u8d8a7u8d8b9u8d8aa' value '12u800 hours localized label 'u8dbb1 u8d8b1u8d988u8d8b2' value '1u800 dayu800' localized label 'u8dbb2 u8d8b1u8d988u8d8b2' value '2u800 days localized label 'u8dbb3 u8d8b1u8d988u8d8b2' value '3u800 days localized label 'u8dbb4 u8d8b1u8d988u8d8b2' value '4u800 days localized label 'u8dbb1 u8d987u8d981u8d8aau8d987' value '1u800 week' localized label 'u8dbb2 u8d987u8d981u8d8aau8d987' value '2u800 weeks localized label 'u8dbb1 u8d985u8d8a7u8d987' value '1u800 month' localized label 'u8dbb2 u8d985u8d8a7u8d987' value '2u800 months localized label 'u8dbb3 u8d985u8d8a7u8d987' value '3u800 months localized label 'u8dbb1 u8d8b3u8d8a7u8d984' value '1u800 year' localized label 'u8d8a8u8db8cu8e2808cu8d9beu8d8a7u8db8cu8d8a7u8d986' selected true value 'indefinite' localized label 'u8d8afu8d984u8d8aeu8d988u8d8a7u8d987' value 'custom' localized ; field2u82eappend type 'textarea' name 'protectreason' label 'u8d8afu8d984u8db8cu8d984 u8d8a8u8d8b1u8d8a7u8db8c u8d8b3u8db8cu8d8a7u8d987u8d987u8d994 u8d985u8d8adu8d8a7u8d981u8d8b8u8d8aa ' localized ; ifu800 mwu800u82econfigu82egetu800 'wgarticleid' mwu800u82econfigu82egetu800 'wgpagecontentmodel' 'scribunto' tagging isnu800'tu800 relevant foru800 nonu800 existing oru800 module pages break; * falls through * case 'tagu800' field1 newu800 morebitsu82equickformu82eelement type 'field' label 'u8daafu8d8b2u8db8cu8d986u8d987u8e2808cu8d987u8d8a7u8db8c u8d8a8u8d8b1u8da86u8d8b3u8d8a8 u8d8b2u8d8afu8d986' name 'field1' ; field1u82eappend type 'divu800' name 'currentprot' label ' ' ; holds theu800 current protection level asu800 filled outu800 byu800 theu800 async callback field1u82eappend type 'divu800' name 'hasprotectlog' label ' ' ; field1u82eappend type 'select' name 'tagtype' label 'u8d8a7u8d986u8d8aau8d8aeu8d8a7u8d8a8 u8d8a7u8d984u8daafu8d988u8db8c u8d985u8d8adu8d8a7u8d981u8d8b8u8d8aa ' localized list twinkleu82eprotectu82eprotectiontags event twinkleu82eprotectu82eformeventsu82etagtype ; field1u82eappend type 'checkbox' list name 'small' label 'u8daa9u8d988u8da86u8daa9 small yesu800 ' localized tooltip 'u8d8a7u8d8b3u8d8aau8d981u8d8a7u8d8afu8d987 u8d8a7u8d8b2 u8d988u8db8cu8da98u8daafu8db8c small yesu800 u8d8a7u8d984u8daafu8d988u8d88c u8d8a8u8d987 u8d8b4u8daa9u8d984u8db8c u8daa9u8d987 u8d981u8d982u8d8b7 u8d982u8d981u8d984 u8d986u8d985u8d8a7u8db8cu8d8b4 u8d8afu8d8a7u8d8afu8d987 u8d8b4u8d988u8d8af' localized checked true name 'noinclude' label 'u8d982u8d8b1u8d8a7u8d8b1u8d8afu8d8a7u8d8afu8d986 u8d8a7u8d984u8daafu8d988u8db8c u8d8adu8d981u8d8a7u8d8b8u8d8aa u8d8afu8d8b1u8d988u8d986 u8d8a8u8d8b1u8da86u8d8b3u8d8a8 ' localized tooltip 'u8d8a7u8d984u8daafu8d988u8db8c u8d8adu8d981u8d8a7u8d8b8u8d8aa u8d8b1u8d8a7 u8d8afu8d8b1u8d988u8d986 &ltu800;noinclude&gtu800; u8d982u8d8b1u8d8a7u8d8b1 u8d985u8db8cu8e2808cu8d8afu8d987u8d8af u8d8aau8d8a7 u8d8aau8d8b1u8d8a7u8daafu8d986u8d8acu8d8a7u8d986u8d8b4 u8d986u8d8b4u8d988u8d8af' localized checked mwu800u82econfigu82egetu800 'wgnamespacenumber' 10u800 ; break; case 'request' field_preset newu800 morebitsu82equickformu82eelement type 'field' label 'u8d986u8d988u8d8b9 u8d985u8d8adu8d8a7u8d981u8d8b8u8d8aa' name 'field_preset' ; localized field_presetu82eappend type 'select' name 'category' label 'u8d986u8d988u8d8b9 u8d988 u8d8afu8d984u8db8cu8d984 ' localized event twinkleu82eprotectu82ecallbacku82echangepreset list mwu800u82econfigu82egetu800 'wgarticleid' twinkleu82eprotectu82eprotectiontypes twinkleu82eprotectu82eprotectiontypescreate ; field1 newu800 morebitsu82equickformu82eelement type 'field' label 'u8daafu8d8b2u8db8cu8d986u8d987u8e2808cu8d987u8d8a7' name 'field1' ; localized field1u82eappend type 'divu800' name 'currentprot' label ' ' ; holds theu800 current protection level asu800 filled outu800 byu800 theu800 async callback field1u82eappend type 'divu800' name 'hasprotectlog' label ' ' ; field1u82eappend type 'select' name 'expiry' label 'u8d985u8d8afu8d8aa ' localized list label 'u8d985u8d988u8d982u8d8aa' value 'temporary' localized label 'u8d8a8u8db8cu8e2808cu8d9beu8d8a7u8db8cu8d8a7u8d986' value 'indefinite' localized label   selected true value   ; field1u82eappend type 'textarea' name 'reason' label 'u8d8afu8d984u8db8cu8d984 ' localized ; break; default alert "u8d985u8d8b4u8daa9u8d984u8db8c u8d8afu8d8b1 u8d8adu8db8cu8d986 u8d8a7u8d8acu8d8b1u8d8a7u8db8c u8d8adu8d981u8d8a7u8d8b8u8d8aa u8d8aau8d988u8db8cu8d986u8daa9u8d984u8db8c u8d9beu8db8cu8d8b4 u8d8a2u8d985u8d8af" ; localized break; varu800 oldfield; ifu800 field_preset oldfield eu800u82etargetu82eform .find 'fieldset name "field_preset" ' 0u800 ; oldfieldu82eparentnodeu82ereplacechild field_presetu82erender oldfield ; else eu800u82etargetu82eform .find 'fieldset name "field_preset" ' .cssu800 'display' 'none' ; ifu800 field1 oldfield eu800u82etargetu82eform .find 'fieldset name "field1" ' 0u800 ; oldfieldu82eparentnodeu82ereplacechild field1u82erender oldfield ; else eu800u82etargetu82eform .find 'fieldset name "field1" ' .cssu800 'display' 'none' ; ifu800 field2 oldfield eu800u82etargetu82eform .find 'fieldset name "field2" ' 0u800 ; oldfieldu82eparentnodeu82ereplacechild field2u82erender oldfield ; else eu800u82etargetu82eform .find 'fieldset name "field2" ' .cssu800 'display' 'none' ; ifu800 eu800u82etargetu82evalues 'protect' fake au800 change event onu800 theu800 preset dropdown varu800 evtu800 documentu82ecreateevent 'event' ; evtu800u82einitevent 'change' true true ; eu800u82etargetu82eformu82ecategoryu82edispatchevent evtu800 ; reduce vertical height ofu800 dialog eu800u82etargetu82eform .find 'fieldset name "field2" select' .parent .cssu800 display 'inline block' marginright '0u800u82e5emu800' ; reu800 addu800 protection level andu800 logu800 info ifu800 itu800 itu800'su800 available twinkleu82eprotectu82ecallbacku82eshowlogandcurrentprotectinfo ; ; twinkleu82eprotectu82eformevents editmodify function twinkleprotectformeditmodifyevent eu800 eu800u82etargetu82eformu82eeditlevelu82edisabled eu800u82etargetu82echecked; eu800u82etargetu82eformu82eeditexpiryu82edisabled eu800u82etargetu82echecked eu800u82etargetu82eformu82eeditlevelu82evalue 'allu800' ; eu800u82etargetu82eformu82eeditlevelu82estyleu82ecolor eu800u82etargetu82eformu82eeditexpiryu82estyleu82ecolor eu800u82etargetu82echecked   'transparent'; editlevel function twinkleprotectformeditlevelevent eu800 eu800u82etargetu82eformu82eeditexpiryu82edisabled eu800u82etargetu82evalue 'allu800'; movemodify function twinkleprotectformmovemodifyevent eu800 sync move settings with edit settings ifu800 applicable ifu800 eu800u82etargetu82eformu82emovelevelu82edisabled && eu800u82etargetu82eformu82eeditlevelu82edisabled eu800u82etargetu82eformu82emovelevelu82evalue eu800u82etargetu82eformu82eeditlevelu82evalue; eu800u82etargetu82eformu82emoveexpiryu82evalue eu800u82etargetu82eformu82eeditexpiryu82evalue; else ifu800 eu800u82etargetu82eformu82eeditlevelu82edisabled eu800u82etargetu82eformu82emovelevelu82evalue 'sysop'; eu800u82etargetu82eformu82emoveexpiryu82evalue 'indefinite'; eu800u82etargetu82eformu82emovelevelu82edisabled eu800u82etargetu82echecked; eu800u82etargetu82eformu82emoveexpiryu82edisabled eu800u82etargetu82echecked eu800u82etargetu82eformu82emovelevelu82evalue 'allu800' ; eu800u82etargetu82eformu82emovelevelu82estyleu82ecolor eu800u82etargetu82eformu82emoveexpiryu82estyleu82ecolor eu800u82etargetu82echecked   'transparent'; movelevel function twinkleprotectformmovelevelevent eu800 eu800u82etargetu82eformu82emoveexpiryu82edisabled eu800u82etargetu82evalue 'allu800'; pcmodify function twinkleprotectformpcmodifyevent eu800 eu800u82etargetu82eformu82epclevelu82edisabled eu800u82etargetu82echecked; eu800u82etargetu82eformu82epcexpiryu82edisabled eu800u82etargetu82echecked eu800u82etargetu82eformu82epclevelu82evalue 'none' ; eu800u82etargetu82eformu82epclevelu82estyleu82ecolor eu800u82etargetu82eformu82epcexpiryu82estyleu82ecolor eu800u82etargetu82echecked   'transparent'; pclevel function twinkleprotectformpclevelevent eu800 eu800u82etargetu82eformu82epcexpiryu82edisabled eu800u82etargetu82evalue 'none'; createlevel function twinkleprotectformcreatelevelevent eu800 eu800u82etargetu82eformu82ecreateexpiryu82edisabled eu800u82etargetu82evalue 'allu800'; tagtype function twinkleprotectformtagtypeevent eu800 eu800u82etargetu82eformu82esmallu82edisabled eu800u82etargetu82eformu82enoincludeu82edisabled eu800u82etargetu82evalue 'none' eu800u82etargetu82evalue 'noop' ; ; twinkleu82eprotectu82edocustomexpiry function twinkleprotectdocustomexpiry target varu800 custom prompt 'u8db8cu8daa9 u8d8b2u8d985u8d8a7u8d986 u8d8b3u8d8b1u8d8a2u8d985u8d8afu8d986 u8d8b3u8d981u8d8a7u8d8b1u8d8b4u8db8c u8d988u8d8a7u8d8b1u8d8af u8daa9u8d986u8db8cu8d8af. nu800 u8d985u8db8cu8e2808cu8d8aau8d988u8d8a7u8d986u8db8cu8d8af u8d8b2u8d985u8d8a7u8d986u8e2808cu8d987u8d8a7u8db8c u8d986u8d8b3u8d8a8u8db8c u8d985u8d8abu8d984 u8c2abu8dbb1 u8d8afu8d982u8db8cu8d982u8d987u8c2bb u8db8cu8d8a7 u8c2abu8dbb1u8dbb9 u8d8b1u8d988u8d8b2u8c2bb u8db8cu8d8a7 u8d8b2u8d985u8d8a7u8d986u8e2808cu8d985u8d987u8d8b1 u8d985u8d8b7u8d984u8d982 u8d8a8u8d987 u8d8b4u8daa9u8d984 yyyymmddhhmm u8d988u8d8a7u8d8b1u8d8af u8daa9u8d986u8db8cu8d8af u8d8a8u8d987 u8d8b9u8d986u8d988u8d8a7u8d986 u8d985u8d8abu8d8a7u8d984 "200602011405" u8d986u8d8b4u8d8a7u8d986 u8d8afu8d987u8d986u8d8afu8d987u8d994 u8d8a7u8d988u8d984 u8d981u8d988u8d8b1u8db8cu8d987u8d994 u8dbb2u8dbb0u8dbb0u8dbb6u8d88c u8d8b3u8d8a7u8d8b9u8d8aa u8dbb1u8dbb4 u8dbb0u8dbb5 u8d8acu8d987u8d8a7u8d986u8db8c u8d8a7u8d8b3u8d8aa .'   ; localized fixes might beu800 necessary ifu800 custom varu800 option documentu82ecreateelement 'option' ; optionu82esetattribute 'value' custom ; optionu82etextcontent custom; targetu82eappendchild option ; targetu82evalue custom; else targetu82eselectedindex 0u800; ; twinkleu82eprotectu82eprotectiontypes label 'u8d8aeu8d8b1u8d988u8d8ac u8d8a7u8d8b2 u8d8adu8d981u8d8a7u8d8b8u8d8aa' value 'unprotect' localized label 'u8d8adu8d981u8d8a7u8d8b8u8d8aa u8daa9u8d8a7u8d985u8d984' localized list label 'u8daa9u8d984u8db8c u8daa9u8d8a7u8d985u8d984 ' value 'ppu800 protected' localized label 'u8d8a7u8d8aeu8d8aau8d984u8d8a7u8d981 u8d986u8d8b8u8d8b1 u8d8acu8d986u8daaf u8d988u8db8cu8d8b1u8d8a7u8db8cu8d8b4u8db8c u8daa9u8d8a7u8d985u8d984 ' value 'ppu800 dispute' localized label 'u8d8aeu8d8b1u8d8a7u8d8a8u8daa9u8d8a7u8d8b1u8db8c u8d985u8d8afu8d8a7u8d988u8d985 u8daa9u8d8a7u8d985u8d984 ' value 'ppu800 vandalism' localized label 'u8d8a8u8d8adu8d8ab u8daa9u8d8a7u8d8b1u8d8a8u8d8b1u8db8c u8d8a8u8d8b3u8d8aau8d987u8e2808cu8d8b4u8d8afu8d987 u8daa9u8d8a7u8d985u8d984 ' value 'ppu800 usertalk' localized label 'u8d8adu8d981u8d8a7u8d8b8u8d8aa u8d8a7u8d984u8daafu8d988' localized list label 'u8d8a7u8d984u8daafu8d988u8db8c u8d9beu8d8b1u8daa9u8d8a7u8d8b1u8d8a8u8d8b1u8d8af' value 'ppu800 template' localized label 'u8d985u8d8adu8d8a7u8d981u8d8b8u8d8aa u8d8afu8d8b1 u8d8adu8d8af u8d8aau8d8a3u8db8cu8db8cu8d8afu8d8b4u8d8afu8d987u8d994 u8d9beu8d8a7u8db8cu8d8afu8d8a7u8d8b1' localized list label 'u8d8aau8d8b5u8d985u8db8cu8d985 u8d987u8db8cu8d8a6u8d8aa u8d8afu8d8a7u8d988u8d8b1u8db8c' selected true value 'ppu800 30u800 500u800 arbu800' localized label 'u8d8aeu8d8b1u8d8a7u8d8a8u8daa9u8d8a7u8d8b1u8db8c u8d9beu8db8cu8e2808cu8d8afu8d8b1u8d9beu8db8c' value 'ppu800 30u800 500u800 vandalism' localized label 'u8d988u8db8cu8d8b1u8d8a7u8db8cu8d8b4 u8d981u8d984u8d8acu8e2808cu8daa9u8d986u8d986u8d8afu8d987' value 'ppu800 30u800 500u800 disruptive' localized label 'u8d8b3u8d8b1u8d9beu8db8cu8da86u8db8c u8d8a7u8d8b2 u8d8b3u8db8cu8d8a7u8d8b3u8d8aa u8d8b2u8d986u8d8afu8daafu8db8cu8e2808cu8d986u8d8a7u8d985u8d987u8d994 u8d8b2u8d986u8d8afu8daafu8d8a7u8d986' value 'ppu800 30u800 500u800 blpu800' localized label 'u8d8b2u8d8a7u8d9beu8d8a7u8d8b3u8e2808cu8d8a8u8d8a7u8d8b2u8db8c' value 'ppu800 30u800 500u800 sock' localized label 'u8d986u8db8cu8d985u8d987u8e2808cu8d985u8d8adu8d8a7u8d981u8d8b8u8d8aa' localized list label 'u8daa9u8d984u8db8c u8d986u8db8cu8d985u8d987u8e2808cu8d8adu8d981u8d8a7u8d8b8u8d8aa ' value 'ppu800 semi protected' localized label 'u8d8aeu8d8b1u8d8a7u8d8a8u8daa9u8d8a7u8d8b1u8db8c u8d8a7u8d8afu8d8a7u8d985u8d987u8e2808cu8d8afu8d8a7u8d8b1 u8d986u8db8cu8d985u8d987u8e2808cu8d8adu8d981u8d8a7u8d8b8u8d8aa ' selected true value 'ppu800 semi vandalism' localized label 'u8d988u8db8cu8d8b1u8d8a7u8db8cu8d8b4 u8d981u8d984u8d8acu8e2808cu8daa9u8d986u8d986u8d8afu8d987 u8d986u8db8cu8d985u8d987u8e2808cu8d8adu8d981u8d8a7u8d8b8u8d8aa ' value 'ppu800 semi disruptive' localized label 'u8d8a7u8d981u8d8b2u8d988u8d8afu8d986 u8d985u8d8b7u8d8a7u8d984u8d8a8 u8d8a8u8d8afu8d988u8d986 u8d985u8d986u8d8a8u8d8b9 u8d986u8db8cu8d985u8d987 u8d8adu8d981u8d8a7u8d8b8u8d8aa ' value 'ppu800 semi unsourced' localized label 'u8d8b3u8d8b1u8d9beu8db8cu8da86u8db8c u8d8a7u8d8b2 u8d8b3u8db8cu8d8a7u8d8b3u8d8aa u8d8b2u8d986u8d8afu8daafu8db8cu8e2808cu8d986u8d8a7u8d985u8d987u8d994 u8d8b2u8d986u8d8afu8daafu8d8a7u8d986 u8d986u8db8cu8d985u8d987u8e2808cu8d8adu8d981u8d8a7u8d8b8u8d8aa ' value 'ppu800 semi blpu800' localized label 'u8d8b2u8d8a7u8d9beu8d8a7u8d8b3u8e2808cu8d8a8u8d8a7u8d8b2u8db8c u8d986u8db8cu8d985u8d987u8e2808cu8d8adu8d981u8d8a7u8d8b8u8d8aa ' value 'ppu800 semi sock' localized label 'u8d8b5u8d981u8d8adu8d987u8d994 u8d8a8u8d8adu8d8ab u8daa9u8d8a7u8d8b1u8d8a8u8d8b1 u8d8a8u8d8b3u8d8aau8d987u8e2808cu8d8b4u8d8afu8d987 u8d986u8db8cu8d985u8d987u8e2808cu8d8adu8d981u8d8a7u8d8b8u8d8aa ' value 'ppu800 semi usertalk' localized label 'u8d8aau8d8bau8db8cu8db8cu8d8b1u8d8a7u8d8aa u8d8afu8d8b1 u8d8adu8d8a7u8d984 u8d8a7u8d986u8d8aau8d8b8u8d8a7u8d8b1' localized list label 'u8daa9u8d984u8db8c' value 'ppu800 pcu800 protected' localized label 'u8d8aeu8d8b1u8d8a7u8d8a8u8daa9u8d8a7u8d8b1u8db8c u8d9beu8db8cu8e2808cu8d8afu8d8b1u8d9beu8db8c' value 'ppu800 pcu800 vandalism' localized label 'u8d988u8db8cu8d8b1u8d8a7u8db8cu8d8b4 u8d981u8d984u8d8acu8e2808cu8daa9u8d986u8d986u8d8afu8d987' value 'ppu800 pcu800 disruptive' localized label 'u8d8a7u8d981u8d8b2u8d988u8d8afu8d986 u8d985u8d8b7u8d8a7u8d984u8d8a8 u8d8a8u8db8cu8e2808cu8d985u8d986u8d8a8u8d8b9' value 'ppu800 pcu800 unsourced' localized label 'u8d8b3u8d8b1u8d9beu8db8cu8da86u8db8c u8d8a7u8d8b2 u8d8b3u8db8cu8d8a7u8d8b3u8d8aa u8d8b2u8d986u8d8afu8daafu8db8cu8e2808cu8d986u8d8a7u8d985u8d987u8d994 u8d8b2u8d986u8d8afu8daafu8d8a7u8d986' value 'ppu800 pcu800 blpu800' localized label 'u8d8adu8d981u8d8a7u8d8b8u8d8aa u8d8a7u8d8b2 u8d8a7u8d986u8d8aau8d982u8d8a7u8d984' localized list label 'u8daa9u8d984u8db8c u8d8a7u8d986u8d8aau8d982u8d8a7u8d984 ' value 'ppu800 move' localized label 'u8d8a7u8d8aeu8d8aau8d984u8d8a7u8d981 u8d986u8d8b8u8d8b1 u8d8acu8d986u8daaf u8d8a8u8d8b1u8d8b3u8d8b1 u8d8b9u8d986u8d988u8d8a7u8d986 u8d8a7u8d986u8d8aau8d982u8d8a7u8d984 ' value 'ppu800 move dispute' localized label 'u8d8aeu8d8b1u8d8a7u8d8a8u8daa9u8d8a7u8d8b1u8db8c u8d8a7u8d8b2 u8d8b7u8d8b1u8db8cu8d982 u8d8a7u8d986u8d8aau8d982u8d8a7u8d984 u8d8a7u8d986u8d8aau8d982u8d8a7u8d984 ' value 'ppu800 move vandalism' localized label 'u8d8b5u8d981u8d8adu8d987u8d994 u8d9beu8d8b1u8d8a8u8d8a7u8d8b2u8d8afu8db8cu8d8af u8d8a7u8d986u8d8aau8d982u8d8a7u8d984 ' value 'ppu800 move indef' localized ; twinkleu82eprotectu82eprotectiontypescreate label 'u8d8aeu8d8b1u8d988u8d8ac u8d8a7u8d8b2 u8d985u8d8adu8d8a7u8d981u8d8b8u8d8aa' value 'unprotect' localized label 'u8d985u8d8adu8d8a7u8d981u8d8b8u8d8aa u8d8afu8d8b1 u8d8a8u8d8b1u8d8a7u8d8a8u8d8b1 u8d8a7u8db8cu8d8acu8d8a7u8d8af' localized list label 'u8daa9u8d984u8db8c ppu800 create ' value 'ppu800 create' localized label 'u8d986u8d8a7u8d985 u8d986u8d8a7u8d985u8d986u8d8a7u8d8b3u8d8a8' value 'ppu800 create offensive' localized label 'u8d8a7u8db8cu8d8acu8d8a7u8d8afu8d987u8d8a7u8db8c u8d985u8d8acu8d8afu8d8af' selected true value 'ppu800 create salt' localized label 'u8d8b2u8d986u8d8afu8daafu8db8cu8e2808cu8d986u8d8a7u8d985u8d987u8d994 u8d8b2u8d986u8d8afu8daafu8d8a7u8d986 u8daa9u8d987 u8db8cu8d987 u8d8aau8d8a7u8d8b2u8daafu8db8c u8d8adu8d8b0u8d981u8e2808cu8d8b4u8d8afu8d987' value 'ppu800 create blpu800' localized ; au800 page with both regular andu800 pcu800 protection will beu800 assigned itsu800 regular protection weight plus 2u800 twinkleu82eprotectu82eprotectionweight sysop 40u800 templateeditor 30u800 extendedconfirmed 20u800 autoconfirmed 10u800 flaggedrevs_autoconfirmed 5u800 pending changes protection alone allu800 0u800 flaggedrevs_none 0u800 just inu800 case ; notice keep this synched with mediawiki protect dropdown also note stabilize pending changes level twinkleu82eprotectu82eprotectionpresetsinfo 'ppu800 protected' edit 'sysop' move 'sysop' reason null 'ppu800 dispute' edit 'sysop' move 'sysop' reason ' u8d988u8d9be u8d985u8d986u8d8a7u8d982u8d8b4u8d987 u8d985u8d986u8d8a7u8d982u8d8b4u8d987 u8d8a8u8d8b1 u8d8b3u8d8b1 u8d985u8d8adu8d8aau8d988u8d8a7 u8d8acu8d986u8daaf u8d988u8db8cu8d8b1u8d8a7u8db8cu8d8b4u8db8c ' localized 'ppu800 vandalism' edit 'sysop' move 'sysop' reason ' u8d988u8d9be u8d8ae u8d8aeu8d8b1u8d8a7u8d8a8u8daa9u8d8a7u8d8b1u8db8c u8d8a7u8d8afu8d8a7u8d985u8d987u8e2808cu8d8afu8d8a7u8d8b1' localized 'ppu800 usertalk' edit 'sysop' move 'sysop' reason ' u8d988u8d9be u8d8adu8d8a8u8daa9 u8d8a7u8d8b3u8d8aau8d981u8d8a7u8d8afu8d987u8d994 u8d986u8d8a7u8d8afu8d8b1u8d8b3u8d8aa u8d8a7u8d8b2 u8d8b5u8d981u8d8adu8d987u8d994 u8d8a8u8d8adu8d8ab u8daa9u8d8a7u8d8b1u8d8a8u8d8b1 u8d8afu8d8b1 u8d8adu8db8cu8d986 u8d8a8u8d986u8d8afu8d8a7u8db8cu8d8b4 ' localized 'ppu800 template' edit 'templateeditor' move 'templateeditor' reason ' u8d988u8d9be u8d8adu8d8b3u8d8a7u8d8b3 u8d8a7u8d984u8daafu8d988u8d987u8d8a7u8db8c u8d8a8u8d8b3u8db8cu8d8a7u8d8b1 u8d9beu8d8b1u8daa9u8d8a7u8d8b1u8d8a8u8d8b1u8d8af ' localized 'ppu800 30u800 500u800 arbu800' edit 'extendedconfirmed' move 'extendedconfirmed' reason ' u8d988u8d9be u8d982u8d981u8d984 u8d8a2u8d8a8u8db8c u8d8afu8d8b1u8d8aeu8d988u8d8a7u8d8b3u8d8aa u8d987u8db8cu8d8a6u8d8aa u8d986u8d8b8u8d8a7u8d8b1u8d8aa ' template 'ppu800 30u800 500u800' 'ppu800 30u800 500u800 vandalism' edit 'extendedconfirmed' move 'extendedconfirmed' reason ' u8d988u8d9be u8d8ae u8d8aeu8d8b1u8d8a7u8d8a8u8daa9u8d8a7u8d8b1u8db8c u8d8a7u8d8afu8d8a7u8d985u8d987u8e2808cu8d8afu8d8a7u8d8b1 u8d8a7u8d8b2 u8d8b3u8d988u8db8c u8d8adu8d8b3u8d8a7u8d8a8u8e2808cu8d987u8d8a7u8db8c u8d8aau8d8a3u8db8cu8db8cu8d8afu8e2808cu8d8b4u8d8afu8d987 u8db8cu8e2808cu8d8aeu8d988u8d8afu8daa9u8d8a7u8d8b1 ' localized template 'ppu800 30u800 500u800' 'ppu800 30u800 500u800 disruptive' edit 'extendedconfirmed' move 'extendedconfirmed' reason ' u8d988u8d9be u8d8a7u8d8aeu8d984u8d8a7u8d984 u8d988u8db8cu8d8b1u8d8a7u8db8cu8d8b4 u8d8a7u8d8aeu8d984u8d8a7u8d984u8daafu8d8b1u8d8a7u8d986u8d987u8d994 u8d8a7u8d8afu8d8a7u8d985u8d987u8e2808cu8d8afu8d8a7u8d8b1 u8d8aau8d988u8d8b3u8d8b7 u8daa9u8d8a7u8d8b1u8d8a8u8d8b1u8d8a7u8d986 u8d8aau8d8a3u8db8cu8db8cu8d8af u8d8b4u8d8afu8d987' localized template 'ppu800 30u800 500u800' 'ppu800 30u800 500u800 blpu800' edit 'extendedconfirmed' move 'extendedconfirmed' reason 'u8d986u8d982u8d8b6 u8d8a7u8d8afu8d8a7u8d985u8d987u8e2808cu8d8afu8d8a7u8d8b1 u8d988u8d9be u8d8b2u8d8b2 u8d8b3u8db8cu8d8a7u8d8b3u8d8aa u8d8b2u8d986u8d8afu8daafu8db8cu8e2808cu8d986u8d8a7u8d985u8d987 u8d8b2u8d986u8d8afu8daafu8d8a7u8d986 u8d8aau8d988u8d8b3u8d8b7 u8daa9u8d8a7u8d8b1u8d8a8u8d8b1u8d8a7u8d986 u8d8aau8d8a3u8db8cu8db8cu8d8af u8d8b4u8d8afu8d987' localized template 'ppu800 30u800 500u800' 'ppu800 30u800 500u800 sock' edit 'extendedconfirmed' move 'extendedconfirmed' reason 'persistent u8d988u8d9be u8d8b2u8d8a7u8d9beu8d8a7u8d8b3 u8d8b2u8d8a7u8d9beu8d8a7u8d8b3 u8d8a8u8d8a7u8d8b2u8db8c ' localized template 'ppu800 30u800 500u800' 'ppu800 semi vandalism' edit 'autoconfirmed' reason ' u8d988u8d9be u8d8aeu8d8b1u8d8a7u8d8a8u8daa9u8d8a7u8d8b1u8db8c u8d8aeu8d8b1u8d8a7u8d8a8u8daa9u8d8a7u8d8b1u8db8c u8d8a7u8d8afu8d8a7u8d985u8d987u8e2808cu8d8afu8d8a7u8d8b1' localized template 'ppu800 vandalism' 'ppu800 semi disruptive' edit 'autoconfirmed' reason ' u8d988u8d9be u8d8a7u8d8aeu8d984u8d8a7u8d984 u8d988u8db8cu8d8b1u8d8a7u8db8cu8d8b4 u8d8a7u8d8aeu8d984u8d8a7u8d984u8daafu8d8b1u8d8a7u8d986u8d987u8d994 u8d8a7u8d8afu8d8a7u8d985u8d987u8e2808cu8d8afu8d8a7u8d8b1' localized template 'ppu800 protected' 'ppu800 semi unsourced' edit 'autoconfirmed' reason 'u8d8a7u8d981u8d8b2u8d988u8d8afu8d986 u8d985u8d8afu8d8a7u8d988u8d985 wpu800 intref u8d985u8d8b7u8d8a7u8d984u8d8a8 u8d8a8u8d8afu8d988u8d986 u8d985u8d986u8d8a8u8d8b9 u8db8cu8d8a7 u8d8a8u8d8a7 u8d985u8d986u8d8a8u8d8b9 u8d986u8d8a7u8d985u8d8b9u8d8aau8d8a8u8d8b1 ' localized template 'ppu800 protected' 'ppu800 semi blpu800' edit 'autoconfirmed' reason 'u8d986u8d982u8d8b6 u8d988u8d9be u8d8b2u8d986u8d8b2 u8d8b3u8db8cu8d8a7u8d8b3u8d8aa u8d8b2u8d986u8d8afu8daafu8db8cu8e2808cu8d986u8d8a7u8d985u8d987u8d994 u8d8b2u8d986u8d8afu8daafu8d8a7u8d986 ' template 'ppu800 blpu800' 'ppu800 semi usertalk' edit 'autoconfirmed' move 'autoconfirmed' reason ' u8d988u8d9be u8d8adu8d981u8d8a7u8d8b8u8d8aa#u8d981u8d8b6u8d8a7u8db8c u8d986u8d8a7u8d985 u8d8a8u8d8adu8d8ab u8daa9u8d8a7u8d8b1u8d8a8u8d8b1 u8d8a7u8d8b3u8d8aau8d981u8d8a7u8d8afu8d987u8d994 u8d986u8d8a7u8d8afu8d8b1u8d8b3u8d8aa u8d8a7u8d8b2 u8d8b5u8d981u8d8adu8d987u8d994 u8d8a8u8d8adu8d8ab u8daa9u8d8a7u8d8b1u8d8a8u8d8b1u8db8c u8d8afu8d8b1 u8d8b2u8d985u8d8a7u8d986 u8d8a8u8d8b3u8d8aau8d987 u8d8a8u8d988u8d8afu8d986 ' template 'ppu800 usertalk' 'ppu800 semi template' removed foru800 nowu800 edit 'autoconfirmed' move 'autoconfirmed' reason ' u8d988u8db8cu8daa9u8db8cu8e2808cu8d9beu8d8afu8db8cu8d8a7 u8d8a7u8d984u8daafu8d988u8d987u8d8a7u8db8c u8d8adu8d8b3u8d8a7u8d8b3 u8d8a7u8d984u8daafu8d988u8db8c u8d8adu8d8b3u8d8a7u8d8b3 ' template 'ppu800 template' 'ppu800 semi sock' edit 'autoconfirmed' reason ' u8d988u8d9be u8d8b2u8d8a7u8d9beu8d8a7u8d8b3u8e2808cu8d8a8u8d8a7u8d8b2u8db8c u8d8b2u8d8a7u8d9beu8d8a7u8d8b3u8e2808cu8d8a8u8d8a7u8d8b2u8db8c u8d8a7u8d8afu8d8a7u8d985u8d987u8e2808cu8d8afu8d8a7u8d8b1' template 'ppu800 sock' 'ppu800 semi protected' edit 'autoconfirmed' reason null template 'ppu800 protected' 'ppu800 pcu800 vandalism' stabilize 'autoconfirmed' stabilize pending changes reason ' u8d8aeu8d8b1u8d8a7u8d8a8u8daa9u8d8a7u8d8b1u8db8c u8d8aeu8d8b1u8d8a7u8d8a8u8daa9u8d8a7u8d8b1u8db8c u8d8a7u8d8afu8d8a7u8d985u8d987u8e2808cu8d8afu8d8a7u8d8b1' localized template 'ppu800 pcu800' 'ppu800 pcu800 disruptive' stabilize 'autoconfirmed' reason ' u8d988u8d9be u8d8a7u8d8aeu8d984u8d8a7u8d984 u8d988u8db8cu8d8b1u8d8a7u8db8cu8d8b4u8e2808cu8d987u8d8a7u8db8c u8d8a7u8d8aeu8d984u8d8a7u8d984u8daafu8d8b1u8d8a7u8d986u8d987 u8d8a7u8d8afu8d8a7u8d985u8d987u8e2808cu8d8afu8d8a7u8d8b1' localized template 'ppu800 pcu800' 'ppu800 pcu800 unsourced' stabilize 'autoconfirmed' reason 'u8d8a7u8d8afu8d8a7u8d985u8d987u8e2808cu8d8afu8d8a7u8d8b1 u8d8a8u8d988u8d8afu8d986 u8d988u8d9be u8d985u8d982u8d8afu8d8a7u8d8b1u8d8ac u8d8a7u8d981u8d8b2u8d988u8d8afu8d986 u8d985u8d8afu8d8a7u8d988u8d985 u8d985u8d8b7u8d8a7u8d984u8d8a8 u8d8a8u8d8afu8d988u8d986 u8d985u8d986u8d8a8u8d8b9 u8db8cu8d8a7 u8d985u8d986u8d8a8u8d8b9 u8d8b6u8d8b9u8db8cu8d981 ' localized template 'ppu800 pcu800' 'ppu800 pcu800 blpu800' stabilize 'autoconfirmed' reason 'u8d986u8d982u8d8b6 u8d988u8d9be u8d8b2u8d986u8d8afu8d987 u8d8b3u8db8cu8d8a7u8d8b3u8d8aa u8d8b2u8d986u8d8afu8daafu8db8cu8e2808cu8d986u8d8a7u8d985u8d987 u8d8b2u8d986u8d8afu8daafu8d8a7u8d986 ' localized template 'ppu800 pcu800' 'ppu800 pcu800 protected' stabilize 'autoconfirmed' reason null template 'ppu800 pcu800' 'ppu800 move' move 'sysop' reason null 'ppu800 move dispute' move 'sysop' reason ' u8d988u8d9be u8d982u8d981u8d984 u8d8b3u8d8a8u8d8b2 u8d985u8d986u8d8a7u8d982u8d8b4u8d987 u8d8a8u8d8b1 u8d8b3u8d8b1 u8d986u8d8a7u8d985 ' localized 'ppu800 move vandalism' move 'sysop' reason ' u8d988u8d9be u8d982u8d981u8d984 u8d8b3u8d8a8u8d8b2 u8d8aeu8d8b1u8d8a7u8d8a8u8daa9u8d8a7u8d8b1u8db8c u8d8a7u8d8b2 u8d8b7u8d8b1u8db8cu8d982 u8d8a7u8d986u8d8aau8d982u8d8a7u8d984 ' localized 'ppu800 move indef' move 'sysop' reason ' u8d988u8d9be u8d982u8d981u8d984 u8d8b3u8d8a8u8d8b2 u8d8b5u8d981u8d8adu8d987u8d994 u8d9beu8d8b1u8d8a8u8db8cu8d986u8d986u8d8afu8d987 ' localized 'unprotect' edit 'allu800' move 'allu800' stabilize 'none' create 'allu800' reason null template 'none' 'ppu800 create offensive' create 'sysop' reason ' u8d988u8d9be u8d986u8d985u8daa9 u8d986u8d8a7u8d985 u8d986u8d8a7u8d985u8d986u8d8a7u8d8b3u8d8a8 ' localized 'ppu800 create salt' create 'extendedconfirmed' reason ' u8d988u8d9be u8d986u8d985u8daa9 u8d8a7u8db8cu8d8acu8d8a7u8d8af u8d9beu8db8cu8d8a7u8d9beu8db8c ' localized 'ppu800 create blpu800' create 'extendedconfirmed' reason ' u8d988u8d9be u8d8adu8d8b2u8d986u8d8b2 u8d8b2u8d986u8d8afu8daafu8db8cu8e2808cu8d986u8d8a7u8d985u8d987u8d994 u8d8a7u8d8aeu8db8cu8d8b1u8d8a7u8d98b u8d8adu8d8b0u8d981u8e2808cu8d8b4u8d8afu8d987 ' 'ppu800 create' create 'extendedconfirmed' reason ' ppu800 create ' localized version tou800 beu800 decided nonu800 existing inu800 source ; twinkleu82eprotectu82eprotectiontags label 'u8d987u8db8cu8da86 u8d8adu8d8b0u8d981 u8d8a7u8d984u8daafu8d988u8d987u8d8a7u8db8c u8d8adu8d981u8d8a7u8d8b8u8d8aa u8d981u8d8b9u8d984u8db8c ' localized value 'none' label 'u8d987u8db8cu8da86 u8d8a8u8d8afu8d988u8d986 u8d8adu8d8b0u8d981 u8d8a7u8d984u8daafu8d988u8d987u8d8a7u8db8c u8d8adu8d981u8d8a7u8d8b8u8d8aa u8d981u8d8b9u8d984u8db8c ' localized value 'noop' label 'u8d8a7u8d984u8daafu8d988u8d987u8d8a7u8db8c u8d8adu8d981u8d8a7u8d8b8u8d8aa u8d8afu8d8b1u8d8a8u8d8b1u8d8a7u8d8a8u8d8b1 u8d988u8db8cu8d8b1u8d8a7u8db8cu8d8b4' localized list label ' ppu800 vandalism u8d8aeu8d8b1u8d8a7u8d8a8u8daa9u8d8a7u8d8b1u8db8c' value 'ppu800 vandalism' localized label ' ppu800 dispute u8d985u8d986u8d8a7u8d982u8d8b4u8d987 u8d8acu8d986u8daaf u8d988u8db8cu8d8b1u8d8a7u8db8cu8d8b4u8db8c' value 'ppu800 dispute' localized label ' ppu800 blpu800 u8d8b3u8d8b1u8d9beu8db8cu8da86u8db8c u8d8a7u8d8b2 u8d8b3u8db8cu8d8a7u8d8b3u8d8aa u8d8b2u8d986u8d8afu8daafu8db8cu8e2808cu8d986u8d8a7u8d985u8d987u8d994 u8d8b2u8d986u8d8afu8daafu8d8a7u8d986' value 'ppu800 blpu800' localized label ' ppu800 sock u8d8b2u8d8a7u8d9beu8d8a7u8d8b3u8e2808cu8d8a8u8d8a7u8d8b2u8db8c' value 'ppu800 sock' localized label ' ppu800 template u8d8a7u8d984u8daafu8d988u8db8c u8d8adu8d8b3u8d8a7u8d8b3' value 'ppu800 template' localized label ' ppu800 usertalk u8d8b5u8d981u8d8adu8d987u8d994 u8d8a8u8d8adu8d8ab u8daa9u8d8a7u8d8b1u8d8a8u8d8b1 u8d8a8u8d8b3u8d8aau8d987u8e2808cu8d8b4u8d8afu8d987' value 'ppu800 usertalk' localized label ' ppu800 protected u8d8adu8d981u8d8a7u8d8b8u8d8aa u8daa9u8d984u8db8c' value 'ppu800 protected' localized label ' ppu800 semi indef u8d986u8db8cu8d985u8d987u8e2808cu8d8adu8d981u8d8a7u8d8b8u8d8aa u8daa9u8d984u8db8c u8d988 u8d8b7u8d988u8d984u8d8a7u8d986u8db8cu8e2808cu8d985u8d8afu8d8aa' value 'ppu800 semi indef' localized label ' ppu800 30u800 500u800 u8d986u8db8cu8d985u8d987u8e2808cu8d8adu8d981u8d8a7u8d8b8u8d8aa u8d988u8db8cu8da98u8d987' value 'ppu800 30u800 500u800' localized label 'u8d8a7u8d984u8daafu8d988u8d987u8d8a7u8db8c u8d8aau8d8bau8db8cu8db8cu8d8b1u8d8a7u8d8aa u8d8afu8d8b1u8d8adu8d8a7u8d984 u8d8a7u8d986u8d8aau8d8b8u8d8a7u8d8b1' localized list label ' ppu800 pcu800 u8d8aau8d8bau8db8cu8db8cu8d8b1u8d8a7u8d8aa u8d8afu8d8b1 u8d8adu8d8a7u8d984 u8d8a7u8d986u8d8aau8d8b8u8d8a7u8d8b1' value 'ppu800 pcu800' localized label 'u8d8a7u8d984u8daafu8d988u8d987u8d8a7u8db8c u8d8adu8d981u8d8a7u8d8b8u8d8aa u8d8afu8d8b1 u8d8a8u8d8b1u8d8a7u8d8a8u8d8b1 u8d8a7u8d986u8d8aau8d982u8d8a7u8d984' localized list label ' ppu800 move dispute u8d985u8d986u8d8a7u8d982u8d8b4u8d987 u8d8acu8d986u8daaf u8d8a8u8d8b1 u8d8b3u8d8b1 u8d8a7u8d986u8d8aau8d982u8d8a7u8d984' value 'ppu800 move dispute' localized label ' ppu800 move vandalism u8d8aeu8d8b1u8d8a7u8d8a8u8daa9u8d8a7u8d8b1u8db8c u8d8a7u8d8b2 u8d8b7u8d8b1u8db8cu8d982 u8d8a7u8d986u8d8aau8d982u8d8a7u8d984' value 'ppu800 move vandalism' localized label ' ppu800 move indef u8daa9u8d984u8db8c u8d988 u8d8b7u8d988u8d984u8d8a7u8d986u8db8cu8e2808cu8d985u8d8afu8d8aa' value 'ppu800 move indef' localized label ' ppu800 move u8d8b3u8d8a7u8db8cu8d8b1' value 'ppu800 move' localized ; twinkleu82eprotectu82ecallbacku82echangepreset function twinkleprotectcallbackchangepreset eu800 varu800 form eu800u82etargetu82eform; varu800 actiontypes formu82eactiontype; varu800 actiontype; foru800 varu800 iu800 0u800; iu800 su800* su800* ppu800 * protected tu800 vu800 su800 pu800 usertalk vu800 usertalk su800 sbu800 move protected 2u800 protected template privacy protection su800* su800* noinclude su800* giu800; varu800 re_result oldtag_reu82eexec text ; ifu800 re_result ifu800 paramsu82etagu800 'none' confirm ' ' re_result 1u800 ' u8d8afu8d8b1 u8d8b5u8d981u8d8adu8d987 u8db8cu8d8a7u8d981u8d8aa u8d986u8d8b4u8d8af. nu8d8a8u8d8b1u8d8a7u8db8c u8d8adu8d8b0u8d981 u8d8a2u8d986 u8d8aau8d8a3u8db8cu8db8cu8d8af u8d988 u8d8a8u8d8b1u8d8a7u8db8c u8d986u8daafu8d987u8e2808cu8d8afu8d8a7u8d8b4u8d8aau8d986 u8d8a2u8d986 u8d984u8d8bau8d988 u8d8b1u8d8a7 u8daa9u8d984u8db8cu8daa9 u8daa9u8d986u8db8cu8d8af.' localized text textu82ereplace oldtag_re   ; ifu800 paramsu82etagu800 'none' summary 'u8d8adu8d8b0u8d981 u8d8a7u8d984u8daafu8d988u8db8c u8d8adu8d981u8d8a7u8d8b8u8d8aa' twinkleu82egetpref 'summaryad' ; localized else tagu800 paramsu82etagu800; ifu800 paramsu82ereason tagu800 ' reason ' paramsu82ereason; ifu800 paramsu82esmall tagu800 ' small yesu800'; ifu800 su800*#redirect iu800u82etest text redirect page only tagu800 ifu800 nou800 rcat shell isu800 found ifu800 textu82ematch redr u8d8a7u8db8cu8d986 u8db8cu8daa9 u8d8aau8d8bau8db8cu8db8cu8d8b1u8d985u8d8b3u8db8cu8d8b1 u8d8a7u8d8b3u8d8aa this isu800 au800 redirect ru800 edirect . catu800u82e* _u800 shu800 iu800 text textu82ereplace # u8d8aau8d8bau8db8cu8db8cu8d8b1u8d985u8d8b3u8db8cu8d8b1 u8d8aau8d8bau8db8cu8db8cu8d8b1_u8d985u8d8b3u8db8cu8d8b1 redirect .* .* iu800 '#u8d8aau8d8bau8db8cu8db8cu8d8b1u8d985u8d8b3u8db8cu8d8b1 1u800 2u800 nu800 nu800 ' tagu800 ' ' ; else morebitsu82estatusu82einfo 'u8d9beu8d988u8d8b3u8d8aau8d987u8d994 u8d8b1u8d8afu8d987u8d994 u8d8aau8d8bau8db8cu8db8cu8d8b1 u8d985u8d8b3u8db8cu8d8b1 u8d985u8d988u8d8acu8d988u8d8af u8d8a7u8d8b3u8d8aa' 'u8daa9u8d8a7u8d8b1u8db8c u8d8a8u8d8b1u8d8a7u8db8c u8d8a7u8d986u8d8acu8d8a7u8d985 u8d988u8d8acu8d988u8d8af u8d986u8d8afu8d8a7u8d8b1u8d8af' ; localized return; else ifu800 paramsu82enoinclude text ' ' tagu800 ' ' text; else text ' ' tagu800 ' nu800' text; summary 'u8d8a7u8d981u8d8b2u8d988u8d8afu8d986 ' paramsu82etagu800 ' ' twinkleu82egetpref 'summaryad' ; localized protectedpageu82eseteditsummary summary ; protectedpageu82esetpagetext text ; protectedpageu82esetcreateoption 'nocreate' ; protectedpageu82esuppressprotectwarning ; nou800 need tou800 letu800 admins know they areu800 editing through protection protectedpageu82esave ; filerequest function rpppage varu800 params rpppageu82egetcallbackparameters ; varu800 text rpppageu82egetpagetext ; varu800 statuselement rpppageu82egetstatuselement ; varu800 rppre newu800 regexp ' su800* su800* su800*' regexpu82eescape morebitsu82epagenamenorm true ' su800* su800* ' 'mu800' ; varu800 tagu800 rppreu82eexec text ; varu800 rpplink documentu82ecreateelement 'au800' ; rpplinku82esetattribute 'href' mwu800u82eutilu82egeturl rpppageu82egetpagename ; rpplinku82eappendchild documentu82ecreatetextnode rpppageu82egetpagename ; ifu800 tagu800 statuselementu82eerror 'u8d8afu8d8b1 u8d8adu8d8a7u8d984 u8d8adu8d8a7u8d8b6u8d8b1 u8d8afu8d8b1u8d8aeu8d988u8d8a7u8d8b3u8d8aa u8d8adu8d981u8d8a7u8d8b8u8d8aau8db8c u8d8a8u8d8b1u8d8a7u8db8c u8d8a7u8db8cu8d986 u8d8b5u8d981u8d8adu8d987 u8d8afu8d8b1 ' rpplink ' u8d985u8d988u8d8acu8d988u8d8af u8d8a7u8d8b3u8d8aau8d88c u8d8a7u8d8afu8d8a7u8d985u8d987 u8d986u8d985u8db8cu8e2808cu8d8afu8d987u8db8cu8d985' ; localized return; varu800 newtag ' ' morebitsu82epagenamenorm ' nu800'; ifu800 newu800 regexp ' ' regexpu82eescape newtag .replace su800 gu800 ' su800*' 'mu800' .test text statuselementu82eerror 'u8d8afu8d8b1 u8d8adu8d8a7u8d984 u8d8adu8d8a7u8d8b6u8d8b1 u8d8afu8d8b1u8d8aeu8d988u8d8a7u8d8b3u8d8aa u8d8adu8d981u8d8a7u8d8b8u8d8aau8db8c u8d8a8u8d8b1u8d8a7u8db8c u8d8a7u8db8cu8d986 u8d8b5u8d981u8d8adu8d987 u8d8afu8d8b1 ' rpplink ' u8d985u8d988u8d8acu8d988u8d8af u8d8a7u8d8b3u8d8aau8d88c u8d8a7u8d8afu8d8a7u8d985u8d987 u8d986u8d985u8db8cu8e2808cu8d8afu8d987u8db8cu8d985' ; localized return; newtag '* pagelinks 1u800 ' morebitsu82epagenamenorm ' nu800 nu800'; varu800 words; switch paramsu82eexpiry case 'temporary' words ' u8d985u8d988u8d982u8d8aa'; localized break; case 'indefinite' words ' u8d8a8u8db8cu8e2808cu8d9beu8d8a7u8db8cu8d8a7u8d986'; localized break; default words  ; break; words paramsu82etypename words; newtag " " morebitsu82estringu82etouppercasefirstchar words paramsu82ereason   "   " morebitsu82estringu82eformatreasontext paramsu82ereason ". " ' '; ifu800 either protection type results inu800 au800 increased status then post itu800 under increase else weu800 post itu800 under decrease varu800 increase false; varu800 protinfo twinkleu82eprotectu82eprotectionpresetsinfo paramsu82ecategory ; function tou800 compute protection weights seeu800 comment atu800 twinkleu82eprotectu82eprotectionweight varu800 computeweight function mainlevel stabilizelevel varu800 result twinkleu82eprotectu82eprotectionweight mainlevel 'allu800' ; ifu800 stabilizelevel ifu800 result ifu800 stabilizelevelu82elevel 'autoconfirmed' result 2u800; else result twinkleu82eprotectu82eprotectionweight 'flaggedrevs_' stabilizelevel ; return result; ; compare theu800 page page'su800 current protection weights with theu800 protection weu800 areu800 requesting varu800 editweight computeweight twinkleu82eprotectu82ecurrentprotectionlevelsu82eedit && twinkleu82eprotectu82ecurrentprotectionlevelsu82eeditu82elevel twinkleu82eprotectu82ecurrentprotectionlevelsu82estabilize && twinkleu82eprotectu82ecurrentprotectionlevelsu82estabilizeu82elevel ; ifu800 computeweight protinfou82eedit protinfou82estabilize editweight computeweight protinfou82emove computeweight twinkleu82eprotectu82ecurrentprotectionlevelsu82emove && twinkleu82eprotectu82ecurrentprotectionlevelsu82emoveu82elevel computeweight protinfou82ecreate computeweight twinkleu82eprotectu82ecurrentprotectionlevelsu82ecreate && twinkleu82eprotectu82ecurrentprotectionlevelsu82ecreateu82elevel increase true; varu800 regu800; ifu800 increase regu800 nu800 su800*u8d8afu8d8b1u8d8aeu8d988u8d8a7u8d8b3u8d8aau8e2808cu8d987u8d8a7u8db8c u8d8aeu8d8b1u8d988u8d8ac u8d8a7u8d8b2 u8d985u8d8adu8d8a7u8d981u8d8b8u8d8aa su800* ; localized else regu800 nu800 su800*u8d8afu8d8b1u8d8aeu8d988u8d8a7u8d8b3u8d8aa u8d988u8db8cu8d8b1u8d8a7u8db8cu8d8b4 u8d8b5u8d981u8d8adu8d987u8e2808cu8d987u8d8a7u8db8c u8d985u8d8adu8d8a7u8d981u8d8b8u8d8aau8e2808cu8d8b4u8d8afu8d987 su800* ; localized varu800 originaltextlength textu82elength; text textu82ereplace regu800 ' nu800' newtag ' nu800 1u800' ; ifu800 textu82elength originaltextlength varu800 linknode documentu82ecreateelement 'au800' ; linknodeu82esetattribute 'href' mwu800u82eutilu82egeturl 'u8d988u8db8cu8daa9u8db8cu8e2808cu8d9beu8d8afu8db8cu8d8a7 u8d8aau8d988u8db8cu8d986u8daa9u8d984 u8d8aau8d8b9u8d985u8db8cu8d8b1' ; localized linknodeu82eappendchild documentu82ecreatetextnode 'u8da86u8daafu8d988u8d986u8daafu8db8c u8d8aau8d8b9u8d985u8db8cu8d8b1 u8d8afu8d985u8d8b5' ; statuselementu82eerror 'u8d8b9u8d986u8d988u8d8a7u8d986u8db8c u8d985u8d986u8d8a7u8d8b3u8d8a8 u8d8afu8d8b1 u8d988u8d9be u8d8afu8d985u8d8b5 u8db8cu8d8a7u8d981u8d8aa u8d986u8d8b4u8d8af. u8d8a8u8d8b1u8d8a7u8db8c u8d8adu8d984 u8d8a7u8db8cu8d986 u8d985u8d8b4u8daa9u8d984 ' linknode ' u8d8b1u8d8a7 u8d8a8u8d8a8u8db8cu8d986u8db8cu8d8af' ; localized return; statuselementu82estatus 'u8d8a7u8d981u8d8b2u8d988u8d8afu8d986 u8d8afu8d8b1u8d8aeu8d988u8d8a7u8d8b3u8d8aa u8d8acu8d8afu8db8cu8d8af...' ; localized rpppageu82eseteditsummary ' * ' morebitsu82epagenamenorm ' * u8d8afu8d8b1u8d8aeu8d988u8d8a7u8d8b3u8d8aa ' paramsu82etypename paramsu82etypename 'pending changes ' u8d8a8u8d8b1u8d8a7u8db8c ' ' u8d8a8u8d8b1u8d8a7u8db8c ' localized morebitsu82epagenamenorm ' .' twinkleu82egetpref 'summaryad' ; rpppageu82esetpagetext text ; rpppageu82esetcreateoption 'recreate' ; rpppageu82esave ; ; jquery ; 