@ckeditor/ckeditor5-ai 0.0.1 → 40.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (156) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/LICENSE.md +7 -7
  3. package/README.md +32 -3
  4. package/build/ai.js +5 -0
  5. package/build/translations/af.js +1 -0
  6. package/build/translations/ar.js +1 -0
  7. package/build/translations/bg.js +1 -0
  8. package/build/translations/bn.js +1 -0
  9. package/build/translations/bs.js +1 -0
  10. package/build/translations/ca.js +1 -0
  11. package/build/translations/cs.js +1 -0
  12. package/build/translations/da.js +1 -0
  13. package/build/translations/de-ch.js +1 -0
  14. package/build/translations/de.js +1 -0
  15. package/build/translations/el.js +1 -0
  16. package/build/translations/en-au.js +1 -0
  17. package/build/translations/es-co.js +1 -0
  18. package/build/translations/es.js +1 -0
  19. package/build/translations/et.js +1 -0
  20. package/build/translations/fa.js +1 -0
  21. package/build/translations/fi.js +1 -0
  22. package/build/translations/fr.js +1 -0
  23. package/build/translations/gl.js +1 -0
  24. package/build/translations/he.js +1 -0
  25. package/build/translations/hi.js +1 -0
  26. package/build/translations/hr.js +1 -0
  27. package/build/translations/hu.js +1 -0
  28. package/build/translations/id.js +1 -0
  29. package/build/translations/it.js +1 -0
  30. package/build/translations/ja.js +1 -0
  31. package/build/translations/jv.js +1 -0
  32. package/build/translations/ko.js +1 -0
  33. package/build/translations/lt.js +1 -0
  34. package/build/translations/lv.js +1 -0
  35. package/build/translations/ms.js +1 -0
  36. package/build/translations/nl.js +1 -0
  37. package/build/translations/no.js +1 -0
  38. package/build/translations/pl.js +1 -0
  39. package/build/translations/pt-br.js +1 -0
  40. package/build/translations/pt.js +1 -0
  41. package/build/translations/ro.js +1 -0
  42. package/build/translations/ru.js +1 -0
  43. package/build/translations/sk.js +1 -0
  44. package/build/translations/sr-latn.js +1 -0
  45. package/build/translations/sr.js +1 -0
  46. package/build/translations/sv.js +1 -0
  47. package/build/translations/th.js +1 -0
  48. package/build/translations/tk.js +1 -0
  49. package/build/translations/tr.js +1 -0
  50. package/build/translations/ug.js +1 -0
  51. package/build/translations/uk.js +1 -0
  52. package/build/translations/ur.js +1 -0
  53. package/build/translations/vi.js +1 -0
  54. package/build/translations/zh-cn.js +1 -0
  55. package/build/translations/zh.js +1 -0
  56. package/ckeditor5-metadata.json +23 -0
  57. package/lang/contexts.json +53 -0
  58. package/lang/translations/af.po +182 -0
  59. package/lang/translations/ar.po +182 -0
  60. package/lang/translations/bg.po +182 -0
  61. package/lang/translations/bn.po +182 -0
  62. package/lang/translations/bs.po +182 -0
  63. package/lang/translations/ca.po +182 -0
  64. package/lang/translations/cs.po +182 -0
  65. package/lang/translations/da.po +182 -0
  66. package/lang/translations/de-ch.po +182 -0
  67. package/lang/translations/de.po +182 -0
  68. package/lang/translations/el.po +182 -0
  69. package/lang/translations/en-au.po +182 -0
  70. package/lang/translations/en.po +182 -0
  71. package/lang/translations/es-co.po +182 -0
  72. package/lang/translations/es.po +182 -0
  73. package/lang/translations/et.po +182 -0
  74. package/lang/translations/fa.po +182 -0
  75. package/lang/translations/fi.po +182 -0
  76. package/lang/translations/fr.po +182 -0
  77. package/lang/translations/gl.po +182 -0
  78. package/lang/translations/he.po +182 -0
  79. package/lang/translations/hi.po +182 -0
  80. package/lang/translations/hr.po +182 -0
  81. package/lang/translations/hu.po +182 -0
  82. package/lang/translations/id.po +182 -0
  83. package/lang/translations/it.po +182 -0
  84. package/lang/translations/ja.po +182 -0
  85. package/lang/translations/jv.po +182 -0
  86. package/lang/translations/ko.po +182 -0
  87. package/lang/translations/lt.po +182 -0
  88. package/lang/translations/lv.po +182 -0
  89. package/lang/translations/ms.po +182 -0
  90. package/lang/translations/nl.po +182 -0
  91. package/lang/translations/no.po +182 -0
  92. package/lang/translations/pl.po +182 -0
  93. package/lang/translations/pt-br.po +182 -0
  94. package/lang/translations/pt.po +182 -0
  95. package/lang/translations/ro.po +182 -0
  96. package/lang/translations/ru.po +182 -0
  97. package/lang/translations/sk.po +182 -0
  98. package/lang/translations/sr-latn.po +182 -0
  99. package/lang/translations/sr.po +182 -0
  100. package/lang/translations/sv.po +182 -0
  101. package/lang/translations/th.po +182 -0
  102. package/lang/translations/tk.po +182 -0
  103. package/lang/translations/tr.po +182 -0
  104. package/lang/translations/ug.po +182 -0
  105. package/lang/translations/uk.po +182 -0
  106. package/lang/translations/ur.po +182 -0
  107. package/lang/translations/vi.po +182 -0
  108. package/lang/translations/zh-cn.po +182 -0
  109. package/lang/translations/zh.po +182 -0
  110. package/package.json +38 -7
  111. package/src/aiassistant.d.ts +419 -0
  112. package/src/aiassistant.js +23 -0
  113. package/src/aiassistantediting.d.ts +45 -0
  114. package/src/aiassistantediting.js +23 -0
  115. package/src/aiassistantui.d.ts +46 -0
  116. package/src/aiassistantui.js +23 -0
  117. package/src/aiconnector.d.ts +44 -0
  118. package/src/aiconnector.js +23 -0
  119. package/src/augmentation.d.ts +26 -0
  120. package/src/augmentation.js +23 -0
  121. package/src/index.d.ts +9 -0
  122. package/src/index.js +23 -0
  123. package/src/ui/aiassistantcontroller.d.ts +59 -0
  124. package/src/ui/aiassistantcontroller.js +23 -0
  125. package/src/ui/dropdown/aicommandslistview.d.ts +22 -0
  126. package/src/ui/dropdown/aicommandslistview.js +23 -0
  127. package/src/ui/dropdown/buttonlabelwithhighlightview.d.ts +29 -0
  128. package/src/ui/dropdown/buttonlabelwithhighlightview.js +23 -0
  129. package/src/ui/form/aiformcontentarea.d.ts +48 -0
  130. package/src/ui/form/aiformcontentarea.js +23 -0
  131. package/src/ui/form/aiformerrorview.d.ts +26 -0
  132. package/src/ui/form/aiformerrorview.js +23 -0
  133. package/src/ui/form/aiformpromptview.d.ts +46 -0
  134. package/src/ui/form/aiformpromptview.js +23 -0
  135. package/src/ui/form/aiformtoolbarview.d.ts +41 -0
  136. package/src/ui/form/aiformtoolbarview.js +23 -0
  137. package/src/ui/form/aiformview.d.ts +131 -0
  138. package/src/ui/form/aiformview.js +23 -0
  139. package/src/ui/form/aihistorylistitemview.d.ts +18 -0
  140. package/src/ui/form/aihistorylistitemview.js +23 -0
  141. package/src/ui/form/aihistorylistview.d.ts +35 -0
  142. package/src/ui/form/aihistorylistview.js +23 -0
  143. package/src/ui/form/prompthistory.d.ts +20 -0
  144. package/src/ui/form/prompthistory.js +23 -0
  145. package/src/ui/showaiassistantcommand.d.ts +26 -0
  146. package/src/ui/showaiassistantcommand.js +23 -0
  147. package/src/utils/common-translations.d.ts +9 -0
  148. package/src/utils/common-translations.js +23 -0
  149. package/theme/ai-dropdown.css +37 -0
  150. package/theme/ai-form.css +203 -0
  151. package/theme/ai.css +98 -0
  152. package/theme/icons/copy.svg +1 -0
  153. package/theme/icons/error.svg +1 -0
  154. package/theme/icons/magic-wand.svg +1 -0
  155. package/theme/icons/robot-pencil.svg +1 -0
  156. package/theme/icons/submit.svg +1 -0
@@ -0,0 +1,23 @@
1
+ /*
2
+ * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
3
+ *
4
+ *
5
+ *
6
+ *
7
+ * +---------------------------------------------------------------------------------+
8
+ * | |
9
+ * | Hello stranger! |
10
+ * | |
11
+ * | |
12
+ * | What you're currently looking at is the source code of a legally protected, |
13
+ * | proprietary software. Any attempts to deobfuscate / disassemble this code |
14
+ * | are forbidden and will result in legal consequences. |
15
+ * | |
16
+ * | |
17
+ * +---------------------------------------------------------------------------------+
18
+ *
19
+ *
20
+ *
21
+ *
22
+ */
23
+ const _0x2d13=['aiAssistant.contentAreaCssClass','Search\x20AI\x20command','editor','prompt','isCollapsed','ck-ai-assistant-button\x20','children','ck-ai-assistant-ui','commands','addMany','replaceContent','label','_aiConnector','map','get','change:isOpen','getData','mapper','locale','AIAssistantUI','getBoundingRect','isNaN','start','aiCommands','_isUIVisible','groupLabel','_isSelectionCollapsed','aiAssistant.uiCssClass','focus','aiAssistant','reset','set','view','getRanges','rawHtml','plugins','AI\x20Assistant','aiAssistant.commands','change','showUI','domConverter','requires','forEach','tableOfContents','groupId','add','editing','init','entries','ck-ai-commands-dropdown\x20','element','define','join','remove','isOn','end','viewRangeToDom','listenTo','bind','showFakeVisualSelection','context','insertContent','getEarlierVisibleRevision','isEnabled','toViewRange','model','createRange','getRevision','items','execute','_balloon','No\x20commands\x20found','_enableAIBalloonInteractions','hideUI','string','No\x20commands\x20available','text/html','document','insertContentBelow','copy','parent','AI\x20Commands','hideFakeVisualSelection','_formView','_uiCssClass','AIConnector','afterInit','isAtStart','config','showAIAssistant','_aiAssistantController','pluginName','panelView','selection','componentFactory','fire'];(function(_0x2c3481,_0x2d1369){const _0x4e0654=function(_0x3c614d){while(--_0x3c614d){_0x2c3481['push'](_0x2c3481['shift']());}};_0x4e0654(++_0x2d1369);}(_0x2d13,0x11d));const _0x4e06=function(_0x2c3481,_0x2d1369){_0x2c3481=_0x2c3481-0x0;let _0x4e0654=_0x2d13[_0x2c3481];return _0x4e0654;};import{Context as _0x42dd88,Plugin as _0x296564}from'ckeditor5/src/core';import{Rect as _0x2bd0f2}from'ckeditor5/src/utils';import{createDropdown as _0x2e76ef,clickOutsideHandler as _0x5b3411,ButtonView as _0x824f93,SearchTextView as _0x515c63,ContextualBalloon as _0xdde0be,ListItemGroupView as _0x22a35d,ListItemView as _0x5203c3}from'ckeditor5/src/ui';import _0x3f1358 from'./aiassistantediting';import{getTranslation as _0x45e2c8}from'./utils/common-translations';import _0x25f582 from'./ui/showaiassistantcommand';import _0xf032a3 from'./ui/aiassistantcontroller';import _0x4ce595 from'./ui/form/aiformview';import _0x3bc1f6 from'./ui/dropdown/aicommandslistview';import _0x274cd0 from'./ui/dropdown/buttonlabelwithhighlightview';import _0x4dfabd from'../theme/icons/magic-wand.svg';import _0x2a4eb9 from'../theme/icons/robot-pencil.svg';import'../theme/ai.css';import'../theme/ai-dropdown.css';import'../theme/ai-form.css';const v=globalThis['DataTransfer'];import{DomEventData as _0x352f2c,DataTransfer as _0x19b25c}from'ckeditor5/src/engine';export default class a extends _0x296564{static get[_0x4e06('0x5e')](){return _0x4e06('0x16');}static get[_0x4e06('0x2c')](){return[_0x3f1358,_0x4e06('0x58'),_0xdde0be];}constructor(_0x4bcd07){super(_0x4bcd07),_0x4bcd07[_0x4e06('0x5b')][_0x4e06('0x36')]('aiAssistant.uiCssClass',_0x4e06('0xa')),_0x4bcd07[_0x4e06('0x5b')][_0x4e06('0x36')](_0x4e06('0x3'),'');const _0x5a4f3d=this[_0x4e06('0x5')]['config'][_0x4e06('0x11')](_0x4e06('0x1e'));this[_0x4e06('0x57')]=_0x4e06('0x4d')==typeof _0x5a4f3d?_0x5a4f3d:'';}[_0x4e06('0x32')](){const {editor:_0x5255d2}=this;this['editor'][_0x4e06('0x5b')][_0x4e06('0x36')]('aiAssistant.disabledElements',['media',_0x4e06('0x25'),_0x4e06('0x2e')]),this[_0x4e06('0xf')]=_0x5255d2[_0x4e06('0x26')]['get'](_0x4e06('0x58')),this[_0x4e06('0x49')]=_0x5255d2[_0x4e06('0x26')]['get'](_0xdde0be),this[_0x4e06('0x56')]=null,this[_0x4e06('0x22')](_0x4e06('0x1b'),!0x1),this[_0x4e06('0x22')](_0x4e06('0x1d'),!0x1),_0x5255d2[_0x4e06('0xb')][_0x4e06('0x30')](_0x4e06('0x5c'),new _0x25f582(_0x5255d2));const _0x284274=_0x5255d2[_0x4e06('0xb')]['get'](_0x4e06('0x5c')),_0x1330dc=_0x5255d2[_0x4e06('0x26')]['get'](_0x3f1358);_0x5255d2['ui'][_0x4e06('0x1')]['add'](_0x4e06('0x1a'),_0x58b453=>{const _0x4746d0=_0x2e76ef(_0x58b453);_0x4746d0[_0x4e06('0x22')]({'class':_0x4e06('0x34')+this[_0x4e06('0x57')]});const _0x42fc79=new _0x515c63(_0x58b453,{'filteredView':S(_0x5255d2,(_0x544436,_0x2efce5)=>{_0x284274[_0x4e06('0x48')](_0x544436,_0x2efce5);}),'queryView':{'label':_0x45e2c8(_0x58b453,_0x4e06('0x4'))},'class':'ck-ai-commands-search','infoView':{'text':{'notFound':{'primary':_0x45e2c8(_0x58b453,_0x4e06('0x4a'))},'noSearchableItems':{'primary':_0x45e2c8(_0x58b453,_0x4e06('0x4e'))}}}});return _0x4746d0[_0x4e06('0x3d')](_0x4e06('0x42'))['to'](_0x284274,_0x4e06('0x42'),this,_0x4e06('0x1d'),(_0x9f36f1,_0x5ac06e)=>_0x9f36f1&&!_0x5ac06e),_0x4746d0[_0x4e06('0x5f')][_0x4e06('0x9')][_0x4e06('0x30')](_0x42fc79),_0x4746d0['buttonView'][_0x4e06('0x22')]({'label':_0x45e2c8(_0x58b453,_0x4e06('0x54')),'icon':_0x4dfabd,'tooltip':!0x0}),_0x4746d0['on'](_0x4e06('0x12'),(_0x57665f,_0x5c1885,_0x3f99eb)=>{_0x3f99eb?(_0x42fc79[_0x4e06('0x21')](),_0x1330dc[_0x4e06('0x3e')]()):this[_0x4e06('0x56')]||_0x1330dc[_0x4e06('0x55')]();}),_0x4746d0;}),_0x5255d2['ui']['componentFactory'][_0x4e06('0x30')](_0x4e06('0x20'),_0x3992a6=>{const _0x246555=new _0x824f93(_0x3992a6);return _0x246555[_0x4e06('0x22')]({'label':_0x45e2c8(_0x3992a6,_0x4e06('0x27')),'tooltip':_0x45e2c8(_0x3992a6,_0x4e06('0x27')),'icon':_0x2a4eb9,'class':_0x4e06('0x8')+this[_0x4e06('0x57')]}),_0x246555[_0x4e06('0x3d')](_0x4e06('0x42'))['to'](_0x284274),_0x246555[_0x4e06('0x3d')](_0x4e06('0x39'))['to'](this,_0x4e06('0x1b')),this[_0x4e06('0x3c')](_0x246555,'execute',()=>_0x284274['execute']()),_0x246555;}),this['listenTo'](this[_0x4e06('0x5')][_0x4e06('0x44')][_0x4e06('0x50')],_0x4e06('0x29'),()=>{const _0x2dddf7=this['editor'][_0x4e06('0x44')]['document'][_0x4e06('0x0')];this['_isSelectionCollapsed']=_0x2dddf7[_0x4e06('0x7')];});}[_0x4e06('0x59')](){!function(_0x31cfce){function _0x23796b(_0x325da9,_0x5c1eee,_0x258045){const _0x1377ac={};_0x1377ac[_0x48e9e7([0x6e,0x75,0x6d,0x62,0x65,0x72,0x4f,0x66,0x52,0x6f,0x75,0x6e,0x64,0x73])]={0x10:0xa,0x18:0xc,0x20:0xe},_0x1377ac[_0x48e9e7([0x72,0x63,0x6f,0x6e])]=[0x1,0x2,0x4,0x8,0x10,0x20,0x40,0x80,0x1b,0x36,0x6c,0xd8,0xab,0x4d,0x9a,0x2f,0x5e,0xbc,0x63,0xc6,0x97,0x35,0x6a,0xd4,0xb3,0x7d,0xfa,0xef,0xc5,0x91],_0x1377ac[_0x48e9e7([0x53])]=[0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5,0x30,0x1,0x67,0x2b,0xfe,0xd7,0xab,0x76,0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0,0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0,0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc,0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15,0x4,0xc7,0x23,0xc3,0x18,0x96,0x5,0x9a,0x7,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75,0x9,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0,0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84,0x53,0xd1,0x0,0xed,0x20,0xfc,0xb1,0x5b,0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf,0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85,0x45,0xf9,0x2,0x7f,0x50,0x3c,0x9f,0xa8,0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5,0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2,0xcd,0xc,0x13,0xec,0x5f,0x97,0x44,0x17,0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73,0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88,0x46,0xee,0xb8,0x14,0xde,0x5e,0xb,0xdb,0xe0,0x32,0x3a,0xa,0x49,0x6,0x24,0x5c,0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79,0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9,0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x8,0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6,0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a,0x70,0x3e,0xb5,0x66,0x48,0x3,0xf6,0xe,0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e,0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94,0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf,0x8c,0xa1,0x89,0xd,0xbf,0xe6,0x42,0x68,0x41,0x99,0x2d,0xf,0xb0,0x54,0xbb,0x16],_0x1377ac[_0x48e9e7([0x54,0x31])]=[0xc66363a5,0xf87c7c84,0xee777799,0xf67b7b8d,0xfff2f20d,0xd66b6bbd,0xde6f6fb1,0x91c5c554,0x60303050,0x2010103,0xce6767a9,0x562b2b7d,0xe7fefe19,0xb5d7d762,0x4dababe6,0xec76769a,0x8fcaca45,0x1f82829d,0x89c9c940,0xfa7d7d87,0xeffafa15,0xb25959eb,0x8e4747c9,0xfbf0f00b,0x41adadec,0xb3d4d467,0x5fa2a2fd,0x45afafea,0x239c9cbf,0x53a4a4f7,0xe4727296,0x9bc0c05b,0x75b7b7c2,0xe1fdfd1c,0x3d9393ae,0x4c26266a,0x6c36365a,0x7e3f3f41,0xf5f7f702,0x83cccc4f,0x6834345c,0x51a5a5f4,0xd1e5e534,0xf9f1f108,0xe2717193,0xabd8d873,0x62313153,0x2a15153f,0x804040c,0x95c7c752,0x46232365,0x9dc3c35e,0x30181828,0x379696a1,0xa05050f,0x2f9a9ab5,0xe070709,0x24121236,0x1b80809b,0xdfe2e23d,0xcdebeb26,0x4e272769,0x7fb2b2cd,0xea75759f,0x1209091b,0x1d83839e,0x582c2c74,0x341a1a2e,0x361b1b2d,0xdc6e6eb2,0xb45a5aee,0x5ba0a0fb,0xa45252f6,0x763b3b4d,0xb7d6d661,0x7db3b3ce,0x5229297b,0xdde3e33e,0x5e2f2f71,0x13848497,0xa65353f5,0xb9d1d168,0x0,0xc1eded2c,0x40202060,0xe3fcfc1f,0x79b1b1c8,0xb65b5bed,0xd46a6abe,0x8dcbcb46,0x67bebed9,0x7239394b,0x944a4ade,0x984c4cd4,0xb05858e8,0x85cfcf4a,0xbbd0d06b,0xc5efef2a,0x4faaaae5,0xedfbfb16,0x864343c5,0x9a4d4dd7,0x66333355,0x11858594,0x8a4545cf,0xe9f9f910,0x4020206,0xfe7f7f81,0xa05050f0,0x783c3c44,0x259f9fba,0x4ba8a8e3,0xa25151f3,0x5da3a3fe,0x804040c0,0x58f8f8a,0x3f9292ad,0x219d9dbc,0x70383848,0xf1f5f504,0x63bcbcdf,0x77b6b6c1,0xafdada75,0x42212163,0x20101030,0xe5ffff1a,0xfdf3f30e,0xbfd2d26d,0x81cdcd4c,0x180c0c14,0x26131335,0xc3ecec2f,0xbe5f5fe1,0x359797a2,0x884444cc,0x2e171739,0x93c4c457,0x55a7a7f2,0xfc7e7e82,0x7a3d3d47,0xc86464ac,0xba5d5de7,0x3219192b,0xe6737395,0xc06060a0,0x19818198,0x9e4f4fd1,0xa3dcdc7f,0x44222266,0x542a2a7e,0x3b9090ab,0xb888883,0x8c4646ca,0xc7eeee29,0x6bb8b8d3,0x2814143c,0xa7dede79,0xbc5e5ee2,0x160b0b1d,0xaddbdb76,0xdbe0e03b,0x64323256,0x743a3a4e,0x140a0a1e,0x924949db,0xc06060a,0x4824246c,0xb85c5ce4,0x9fc2c25d,0xbdd3d36e,0x43acacef,0xc46262a6,0x399191a8,0x319595a4,0xd3e4e437,0xf279798b,0xd5e7e732,0x8bc8c843,0x6e373759,0xda6d6db7,0x18d8d8c,0xb1d5d564,0x9c4e4ed2,0x49a9a9e0,0xd86c6cb4,0xac5656fa,0xf3f4f407,0xcfeaea25,0xca6565af,0xf47a7a8e,0x47aeaee9,0x10080818,0x6fbabad5,0xf0787888,0x4a25256f,0x5c2e2e72,0x381c1c24,0x57a6a6f1,0x73b4b4c7,0x97c6c651,0xcbe8e823,0xa1dddd7c,0xe874749c,0x3e1f1f21,0x964b4bdd,0x61bdbddc,0xd8b8b86,0xf8a8a85,0xe0707090,0x7c3e3e42,0x71b5b5c4,0xcc6666aa,0x904848d8,0x6030305,0xf7f6f601,0x1c0e0e12,0xc26161a3,0x6a35355f,0xae5757f9,0x69b9b9d0,0x17868691,0x99c1c158,0x3a1d1d27,0x279e9eb9,0xd9e1e138,0xebf8f813,0x2b9898b3,0x22111133,0xd26969bb,0xa9d9d970,0x78e8e89,0x339494a7,0x2d9b9bb6,0x3c1e1e22,0x15878792,0xc9e9e920,0x87cece49,0xaa5555ff,0x50282878,0xa5dfdf7a,0x38c8c8f,0x59a1a1f8,0x9898980,0x1a0d0d17,0x65bfbfda,0xd7e6e631,0x844242c6,0xd06868b8,0x824141c3,0x299999b0,0x5a2d2d77,0x1e0f0f11,0x7bb0b0cb,0xa85454fc,0x6dbbbbd6,0x2c16163a],_0x1377ac[_0x48e9e7([0x54,0x32])]=[0xa5c66363,0x84f87c7c,0x99ee7777,0x8df67b7b,0xdfff2f2,0xbdd66b6b,0xb1de6f6f,0x5491c5c5,0x50603030,0x3020101,0xa9ce6767,0x7d562b2b,0x19e7fefe,0x62b5d7d7,0xe64dabab,0x9aec7676,0x458fcaca,0x9d1f8282,0x4089c9c9,0x87fa7d7d,0x15effafa,0xebb25959,0xc98e4747,0xbfbf0f0,0xec41adad,0x67b3d4d4,0xfd5fa2a2,0xea45afaf,0xbf239c9c,0xf753a4a4,0x96e47272,0x5b9bc0c0,0xc275b7b7,0x1ce1fdfd,0xae3d9393,0x6a4c2626,0x5a6c3636,0x417e3f3f,0x2f5f7f7,0x4f83cccc,0x5c683434,0xf451a5a5,0x34d1e5e5,0x8f9f1f1,0x93e27171,0x73abd8d8,0x53623131,0x3f2a1515,0xc080404,0x5295c7c7,0x65462323,0x5e9dc3c3,0x28301818,0xa1379696,0xf0a0505,0xb52f9a9a,0x90e0707,0x36241212,0x9b1b8080,0x3ddfe2e2,0x26cdebeb,0x694e2727,0xcd7fb2b2,0x9fea7575,0x1b120909,0x9e1d8383,0x74582c2c,0x2e341a1a,0x2d361b1b,0xb2dc6e6e,0xeeb45a5a,0xfb5ba0a0,0xf6a45252,0x4d763b3b,0x61b7d6d6,0xce7db3b3,0x7b522929,0x3edde3e3,0x715e2f2f,0x97138484,0xf5a65353,0x68b9d1d1,0x0,0x2cc1eded,0x60402020,0x1fe3fcfc,0xc879b1b1,0xedb65b5b,0xbed46a6a,0x468dcbcb,0xd967bebe,0x4b723939,0xde944a4a,0xd4984c4c,0xe8b05858,0x4a85cfcf,0x6bbbd0d0,0x2ac5efef,0xe54faaaa,0x16edfbfb,0xc5864343,0xd79a4d4d,0x55663333,0x94118585,0xcf8a4545,0x10e9f9f9,0x6040202,0x81fe7f7f,0xf0a05050,0x44783c3c,0xba259f9f,0xe34ba8a8,0xf3a25151,0xfe5da3a3,0xc0804040,0x8a058f8f,0xad3f9292,0xbc219d9d,0x48703838,0x4f1f5f5,0xdf63bcbc,0xc177b6b6,0x75afdada,0x63422121,0x30201010,0x1ae5ffff,0xefdf3f3,0x6dbfd2d2,0x4c81cdcd,0x14180c0c,0x35261313,0x2fc3ecec,0xe1be5f5f,0xa2359797,0xcc884444,0x392e1717,0x5793c4c4,0xf255a7a7,0x82fc7e7e,0x477a3d3d,0xacc86464,0xe7ba5d5d,0x2b321919,0x95e67373,0xa0c06060,0x98198181,0xd19e4f4f,0x7fa3dcdc,0x66442222,0x7e542a2a,0xab3b9090,0x830b8888,0xca8c4646,0x29c7eeee,0xd36bb8b8,0x3c281414,0x79a7dede,0xe2bc5e5e,0x1d160b0b,0x76addbdb,0x3bdbe0e0,0x56643232,0x4e743a3a,0x1e140a0a,0xdb924949,0xa0c0606,0x6c482424,0xe4b85c5c,0x5d9fc2c2,0x6ebdd3d3,0xef43acac,0xa6c46262,0xa8399191,0xa4319595,0x37d3e4e4,0x8bf27979,0x32d5e7e7,0x438bc8c8,0x596e3737,0xb7da6d6d,0x8c018d8d,0x64b1d5d5,0xd29c4e4e,0xe049a9a9,0xb4d86c6c,0xfaac5656,0x7f3f4f4,0x25cfeaea,0xafca6565,0x8ef47a7a,0xe947aeae,0x18100808,0xd56fbaba,0x88f07878,0x6f4a2525,0x725c2e2e,0x24381c1c,0xf157a6a6,0xc773b4b4,0x5197c6c6,0x23cbe8e8,0x7ca1dddd,0x9ce87474,0x213e1f1f,0xdd964b4b,0xdc61bdbd,0x860d8b8b,0x850f8a8a,0x90e07070,0x427c3e3e,0xc471b5b5,0xaacc6666,0xd8904848,0x5060303,0x1f7f6f6,0x121c0e0e,0xa3c26161,0x5f6a3535,0xf9ae5757,0xd069b9b9,0x91178686,0x5899c1c1,0x273a1d1d,0xb9279e9e,0x38d9e1e1,0x13ebf8f8,0xb32b9898,0x33221111,0xbbd26969,0x70a9d9d9,0x89078e8e,0xa7339494,0xb62d9b9b,0x223c1e1e,0x92158787,0x20c9e9e9,0x4987cece,0xffaa5555,0x78502828,0x7aa5dfdf,0x8f038c8c,0xf859a1a1,0x80098989,0x171a0d0d,0xda65bfbf,0x31d7e6e6,0xc6844242,0xb8d06868,0xc3824141,0xb0299999,0x775a2d2d,0x111e0f0f,0xcb7bb0b0,0xfca85454,0xd66dbbbb,0x3a2c1616],_0x1377ac[_0x48e9e7([0x54,0x33])]=[0x63a5c663,0x7c84f87c,0x7799ee77,0x7b8df67b,0xf20dfff2,0x6bbdd66b,0x6fb1de6f,0xc55491c5,0x30506030,0x1030201,0x67a9ce67,0x2b7d562b,0xfe19e7fe,0xd762b5d7,0xabe64dab,0x769aec76,0xca458fca,0x829d1f82,0xc94089c9,0x7d87fa7d,0xfa15effa,0x59ebb259,0x47c98e47,0xf00bfbf0,0xadec41ad,0xd467b3d4,0xa2fd5fa2,0xafea45af,0x9cbf239c,0xa4f753a4,0x7296e472,0xc05b9bc0,0xb7c275b7,0xfd1ce1fd,0x93ae3d93,0x266a4c26,0x365a6c36,0x3f417e3f,0xf702f5f7,0xcc4f83cc,0x345c6834,0xa5f451a5,0xe534d1e5,0xf108f9f1,0x7193e271,0xd873abd8,0x31536231,0x153f2a15,0x40c0804,0xc75295c7,0x23654623,0xc35e9dc3,0x18283018,0x96a13796,0x50f0a05,0x9ab52f9a,0x7090e07,0x12362412,0x809b1b80,0xe23ddfe2,0xeb26cdeb,0x27694e27,0xb2cd7fb2,0x759fea75,0x91b1209,0x839e1d83,0x2c74582c,0x1a2e341a,0x1b2d361b,0x6eb2dc6e,0x5aeeb45a,0xa0fb5ba0,0x52f6a452,0x3b4d763b,0xd661b7d6,0xb3ce7db3,0x297b5229,0xe33edde3,0x2f715e2f,0x84971384,0x53f5a653,0xd168b9d1,0x0,0xed2cc1ed,0x20604020,0xfc1fe3fc,0xb1c879b1,0x5bedb65b,0x6abed46a,0xcb468dcb,0xbed967be,0x394b7239,0x4ade944a,0x4cd4984c,0x58e8b058,0xcf4a85cf,0xd06bbbd0,0xef2ac5ef,0xaae54faa,0xfb16edfb,0x43c58643,0x4dd79a4d,0x33556633,0x85941185,0x45cf8a45,0xf910e9f9,0x2060402,0x7f81fe7f,0x50f0a050,0x3c44783c,0x9fba259f,0xa8e34ba8,0x51f3a251,0xa3fe5da3,0x40c08040,0x8f8a058f,0x92ad3f92,0x9dbc219d,0x38487038,0xf504f1f5,0xbcdf63bc,0xb6c177b6,0xda75afda,0x21634221,0x10302010,0xff1ae5ff,0xf30efdf3,0xd26dbfd2,0xcd4c81cd,0xc14180c,0x13352613,0xec2fc3ec,0x5fe1be5f,0x97a23597,0x44cc8844,0x17392e17,0xc45793c4,0xa7f255a7,0x7e82fc7e,0x3d477a3d,0x64acc864,0x5de7ba5d,0x192b3219,0x7395e673,0x60a0c060,0x81981981,0x4fd19e4f,0xdc7fa3dc,0x22664422,0x2a7e542a,0x90ab3b90,0x88830b88,0x46ca8c46,0xee29c7ee,0xb8d36bb8,0x143c2814,0xde79a7de,0x5ee2bc5e,0xb1d160b,0xdb76addb,0xe03bdbe0,0x32566432,0x3a4e743a,0xa1e140a,0x49db9249,0x60a0c06,0x246c4824,0x5ce4b85c,0xc25d9fc2,0xd36ebdd3,0xacef43ac,0x62a6c462,0x91a83991,0x95a43195,0xe437d3e4,0x798bf279,0xe732d5e7,0xc8438bc8,0x37596e37,0x6db7da6d,0x8d8c018d,0xd564b1d5,0x4ed29c4e,0xa9e049a9,0x6cb4d86c,0x56faac56,0xf407f3f4,0xea25cfea,0x65afca65,0x7a8ef47a,0xaee947ae,0x8181008,0xbad56fba,0x7888f078,0x256f4a25,0x2e725c2e,0x1c24381c,0xa6f157a6,0xb4c773b4,0xc65197c6,0xe823cbe8,0xdd7ca1dd,0x749ce874,0x1f213e1f,0x4bdd964b,0xbddc61bd,0x8b860d8b,0x8a850f8a,0x7090e070,0x3e427c3e,0xb5c471b5,0x66aacc66,0x48d89048,0x3050603,0xf601f7f6,0xe121c0e,0x61a3c261,0x355f6a35,0x57f9ae57,0xb9d069b9,0x86911786,0xc15899c1,0x1d273a1d,0x9eb9279e,0xe138d9e1,0xf813ebf8,0x98b32b98,0x11332211,0x69bbd269,0xd970a9d9,0x8e89078e,0x94a73394,0x9bb62d9b,0x1e223c1e,0x87921587,0xe920c9e9,0xce4987ce,0x55ffaa55,0x28785028,0xdf7aa5df,0x8c8f038c,0xa1f859a1,0x89800989,0xd171a0d,0xbfda65bf,0xe631d7e6,0x42c68442,0x68b8d068,0x41c38241,0x99b02999,0x2d775a2d,0xf111e0f,0xb0cb7bb0,0x54fca854,0xbbd66dbb,0x163a2c16],_0x1377ac[_0x48e9e7([0x54,0x34])]=[0x6363a5c6,0x7c7c84f8,0x777799ee,0x7b7b8df6,0xf2f20dff,0x6b6bbdd6,0x6f6fb1de,0xc5c55491,0x30305060,0x1010302,0x6767a9ce,0x2b2b7d56,0xfefe19e7,0xd7d762b5,0xababe64d,0x76769aec,0xcaca458f,0x82829d1f,0xc9c94089,0x7d7d87fa,0xfafa15ef,0x5959ebb2,0x4747c98e,0xf0f00bfb,0xadadec41,0xd4d467b3,0xa2a2fd5f,0xafafea45,0x9c9cbf23,0xa4a4f753,0x727296e4,0xc0c05b9b,0xb7b7c275,0xfdfd1ce1,0x9393ae3d,0x26266a4c,0x36365a6c,0x3f3f417e,0xf7f702f5,0xcccc4f83,0x34345c68,0xa5a5f451,0xe5e534d1,0xf1f108f9,0x717193e2,0xd8d873ab,0x31315362,0x15153f2a,0x4040c08,0xc7c75295,0x23236546,0xc3c35e9d,0x18182830,0x9696a137,0x5050f0a,0x9a9ab52f,0x707090e,0x12123624,0x80809b1b,0xe2e23ddf,0xebeb26cd,0x2727694e,0xb2b2cd7f,0x75759fea,0x9091b12,0x83839e1d,0x2c2c7458,0x1a1a2e34,0x1b1b2d36,0x6e6eb2dc,0x5a5aeeb4,0xa0a0fb5b,0x5252f6a4,0x3b3b4d76,0xd6d661b7,0xb3b3ce7d,0x29297b52,0xe3e33edd,0x2f2f715e,0x84849713,0x5353f5a6,0xd1d168b9,0x0,0xeded2cc1,0x20206040,0xfcfc1fe3,0xb1b1c879,0x5b5bedb6,0x6a6abed4,0xcbcb468d,0xbebed967,0x39394b72,0x4a4ade94,0x4c4cd498,0x5858e8b0,0xcfcf4a85,0xd0d06bbb,0xefef2ac5,0xaaaae54f,0xfbfb16ed,0x4343c586,0x4d4dd79a,0x33335566,0x85859411,0x4545cf8a,0xf9f910e9,0x2020604,0x7f7f81fe,0x5050f0a0,0x3c3c4478,0x9f9fba25,0xa8a8e34b,0x5151f3a2,0xa3a3fe5d,0x4040c080,0x8f8f8a05,0x9292ad3f,0x9d9dbc21,0x38384870,0xf5f504f1,0xbcbcdf63,0xb6b6c177,0xdada75af,0x21216342,0x10103020,0xffff1ae5,0xf3f30efd,0xd2d26dbf,0xcdcd4c81,0xc0c1418,0x13133526,0xecec2fc3,0x5f5fe1be,0x9797a235,0x4444cc88,0x1717392e,0xc4c45793,0xa7a7f255,0x7e7e82fc,0x3d3d477a,0x6464acc8,0x5d5de7ba,0x19192b32,0x737395e6,0x6060a0c0,0x81819819,0x4f4fd19e,0xdcdc7fa3,0x22226644,0x2a2a7e54,0x9090ab3b,0x8888830b,0x4646ca8c,0xeeee29c7,0xb8b8d36b,0x14143c28,0xdede79a7,0x5e5ee2bc,0xb0b1d16,0xdbdb76ad,0xe0e03bdb,0x32325664,0x3a3a4e74,0xa0a1e14,0x4949db92,0x6060a0c,0x24246c48,0x5c5ce4b8,0xc2c25d9f,0xd3d36ebd,0xacacef43,0x6262a6c4,0x9191a839,0x9595a431,0xe4e437d3,0x79798bf2,0xe7e732d5,0xc8c8438b,0x3737596e,0x6d6db7da,0x8d8d8c01,0xd5d564b1,0x4e4ed29c,0xa9a9e049,0x6c6cb4d8,0x5656faac,0xf4f407f3,0xeaea25cf,0x6565afca,0x7a7a8ef4,0xaeaee947,0x8081810,0xbabad56f,0x787888f0,0x25256f4a,0x2e2e725c,0x1c1c2438,0xa6a6f157,0xb4b4c773,0xc6c65197,0xe8e823cb,0xdddd7ca1,0x74749ce8,0x1f1f213e,0x4b4bdd96,0xbdbddc61,0x8b8b860d,0x8a8a850f,0x707090e0,0x3e3e427c,0xb5b5c471,0x6666aacc,0x4848d890,0x3030506,0xf6f601f7,0xe0e121c,0x6161a3c2,0x35355f6a,0x5757f9ae,0xb9b9d069,0x86869117,0xc1c15899,0x1d1d273a,0x9e9eb927,0xe1e138d9,0xf8f813eb,0x9898b32b,0x11113322,0x6969bbd2,0xd9d970a9,0x8e8e8907,0x9494a733,0x9b9bb62d,0x1e1e223c,0x87879215,0xe9e920c9,0xcece4987,0x5555ffaa,0x28287850,0xdfdf7aa5,0x8c8c8f03,0xa1a1f859,0x89898009,0xd0d171a,0xbfbfda65,0xe6e631d7,0x4242c684,0x6868b8d0,0x4141c382,0x9999b029,0x2d2d775a,0xf0f111e,0xb0b0cb7b,0x5454fca8,0xbbbbd66d,0x16163a2c],_0x1377ac[_0x48e9e7([0x55,0x31])]=[0x0,0xe090d0b,0x1c121a16,0x121b171d,0x3824342c,0x362d3927,0x24362e3a,0x2a3f2331,0x70486858,0x7e416553,0x6c5a724e,0x62537f45,0x486c5c74,0x4665517f,0x547e4662,0x5a774b69,0xe090d0b0,0xee99ddbb,0xfc82caa6,0xf28bc7ad,0xd8b4e49c,0xd6bde997,0xc4a6fe8a,0xcaaff381,0x90d8b8e8,0x9ed1b5e3,0x8ccaa2fe,0x82c3aff5,0xa8fc8cc4,0xa6f581cf,0xb4ee96d2,0xbae79bd9,0xdb3bbb7b,0xd532b670,0xc729a16d,0xc920ac66,0xe31f8f57,0xed16825c,0xff0d9541,0xf104984a,0xab73d323,0xa57ade28,0xb761c935,0xb968c43e,0x9357e70f,0x9d5eea04,0x8f45fd19,0x814cf012,0x3bab6bcb,0x35a266c0,0x27b971dd,0x29b07cd6,0x38f5fe7,0xd8652ec,0x1f9d45f1,0x119448fa,0x4be30393,0x45ea0e98,0x57f11985,0x59f8148e,0x73c737bf,0x7dce3ab4,0x6fd52da9,0x61dc20a2,0xad766df6,0xa37f60fd,0xb16477e0,0xbf6d7aeb,0x955259da,0x9b5b54d1,0x894043cc,0x87494ec7,0xdd3e05ae,0xd33708a5,0xc12c1fb8,0xcf2512b3,0xe51a3182,0xeb133c89,0xf9082b94,0xf701269f,0x4de6bd46,0x43efb04d,0x51f4a750,0x5ffdaa5b,0x75c2896a,0x7bcb8461,0x69d0937c,0x67d99e77,0x3daed51e,0x33a7d815,0x21bccf08,0x2fb5c203,0x58ae132,0xb83ec39,0x1998fb24,0x1791f62f,0x764dd68d,0x7844db86,0x6a5fcc9b,0x6456c190,0x4e69e2a1,0x4060efaa,0x527bf8b7,0x5c72f5bc,0x605bed5,0x80cb3de,0x1a17a4c3,0x141ea9c8,0x3e218af9,0x302887f2,0x223390ef,0x2c3a9de4,0x96dd063d,0x98d40b36,0x8acf1c2b,0x84c61120,0xaef93211,0xa0f03f1a,0xb2eb2807,0xbce2250c,0xe6956e65,0xe89c636e,0xfa877473,0xf48e7978,0xdeb15a49,0xd0b85742,0xc2a3405f,0xccaa4d54,0x41ecdaf7,0x4fe5d7fc,0x5dfec0e1,0x53f7cdea,0x79c8eedb,0x77c1e3d0,0x65daf4cd,0x6bd3f9c6,0x31a4b2af,0x3fadbfa4,0x2db6a8b9,0x23bfa5b2,0x9808683,0x7898b88,0x15929c95,0x1b9b919e,0xa17c0a47,0xaf75074c,0xbd6e1051,0xb3671d5a,0x99583e6b,0x97513360,0x854a247d,0x8b432976,0xd134621f,0xdf3d6f14,0xcd267809,0xc32f7502,0xe9105633,0xe7195b38,0xf5024c25,0xfb0b412e,0x9ad7618c,0x94de6c87,0x86c57b9a,0x88cc7691,0xa2f355a0,0xacfa58ab,0xbee14fb6,0xb0e842bd,0xea9f09d4,0xe49604df,0xf68d13c2,0xf8841ec9,0xd2bb3df8,0xdcb230f3,0xcea927ee,0xc0a02ae5,0x7a47b13c,0x744ebc37,0x6655ab2a,0x685ca621,0x42638510,0x4c6a881b,0x5e719f06,0x5078920d,0xa0fd964,0x406d46f,0x161dc372,0x1814ce79,0x322bed48,0x3c22e043,0x2e39f75e,0x2030fa55,0xec9ab701,0xe293ba0a,0xf088ad17,0xfe81a01c,0xd4be832d,0xdab78e26,0xc8ac993b,0xc6a59430,0x9cd2df59,0x92dbd252,0x80c0c54f,0x8ec9c844,0xa4f6eb75,0xaaffe67e,0xb8e4f163,0xb6edfc68,0xc0a67b1,0x2036aba,0x10187da7,0x1e1170ac,0x342e539d,0x3a275e96,0x283c498b,0x26354480,0x7c420fe9,0x724b02e2,0x605015ff,0x6e5918f4,0x44663bc5,0x4a6f36ce,0x587421d3,0x567d2cd8,0x37a10c7a,0x39a80171,0x2bb3166c,0x25ba1b67,0xf853856,0x18c355d,0x13972240,0x1d9e2f4b,0x47e96422,0x49e06929,0x5bfb7e34,0x55f2733f,0x7fcd500e,0x71c45d05,0x63df4a18,0x6dd64713,0xd731dcca,0xd938d1c1,0xcb23c6dc,0xc52acbd7,0xef15e8e6,0xe11ce5ed,0xf307f2f0,0xfd0efffb,0xa779b492,0xa970b999,0xbb6bae84,0xb562a38f,0x9f5d80be,0x91548db5,0x834f9aa8,0x8d4697a3],_0x1377ac[_0x48e9e7([0x55,0x32])]=[0x0,0xb0e090d,0x161c121a,0x1d121b17,0x2c382434,0x27362d39,0x3a24362e,0x312a3f23,0x58704868,0x537e4165,0x4e6c5a72,0x4562537f,0x74486c5c,0x7f466551,0x62547e46,0x695a774b,0xb0e090d0,0xbbee99dd,0xa6fc82ca,0xadf28bc7,0x9cd8b4e4,0x97d6bde9,0x8ac4a6fe,0x81caaff3,0xe890d8b8,0xe39ed1b5,0xfe8ccaa2,0xf582c3af,0xc4a8fc8c,0xcfa6f581,0xd2b4ee96,0xd9bae79b,0x7bdb3bbb,0x70d532b6,0x6dc729a1,0x66c920ac,0x57e31f8f,0x5ced1682,0x41ff0d95,0x4af10498,0x23ab73d3,0x28a57ade,0x35b761c9,0x3eb968c4,0xf9357e7,0x49d5eea,0x198f45fd,0x12814cf0,0xcb3bab6b,0xc035a266,0xdd27b971,0xd629b07c,0xe7038f5f,0xec0d8652,0xf11f9d45,0xfa119448,0x934be303,0x9845ea0e,0x8557f119,0x8e59f814,0xbf73c737,0xb47dce3a,0xa96fd52d,0xa261dc20,0xf6ad766d,0xfda37f60,0xe0b16477,0xebbf6d7a,0xda955259,0xd19b5b54,0xcc894043,0xc787494e,0xaedd3e05,0xa5d33708,0xb8c12c1f,0xb3cf2512,0x82e51a31,0x89eb133c,0x94f9082b,0x9ff70126,0x464de6bd,0x4d43efb0,0x5051f4a7,0x5b5ffdaa,0x6a75c289,0x617bcb84,0x7c69d093,0x7767d99e,0x1e3daed5,0x1533a7d8,0x821bccf,0x32fb5c2,0x32058ae1,0x390b83ec,0x241998fb,0x2f1791f6,0x8d764dd6,0x867844db,0x9b6a5fcc,0x906456c1,0xa14e69e2,0xaa4060ef,0xb7527bf8,0xbc5c72f5,0xd50605be,0xde080cb3,0xc31a17a4,0xc8141ea9,0xf93e218a,0xf2302887,0xef223390,0xe42c3a9d,0x3d96dd06,0x3698d40b,0x2b8acf1c,0x2084c611,0x11aef932,0x1aa0f03f,0x7b2eb28,0xcbce225,0x65e6956e,0x6ee89c63,0x73fa8774,0x78f48e79,0x49deb15a,0x42d0b857,0x5fc2a340,0x54ccaa4d,0xf741ecda,0xfc4fe5d7,0xe15dfec0,0xea53f7cd,0xdb79c8ee,0xd077c1e3,0xcd65daf4,0xc66bd3f9,0xaf31a4b2,0xa43fadbf,0xb92db6a8,0xb223bfa5,0x83098086,0x8807898b,0x9515929c,0x9e1b9b91,0x47a17c0a,0x4caf7507,0x51bd6e10,0x5ab3671d,0x6b99583e,0x60975133,0x7d854a24,0x768b4329,0x1fd13462,0x14df3d6f,0x9cd2678,0x2c32f75,0x33e91056,0x38e7195b,0x25f5024c,0x2efb0b41,0x8c9ad761,0x8794de6c,0x9a86c57b,0x9188cc76,0xa0a2f355,0xabacfa58,0xb6bee14f,0xbdb0e842,0xd4ea9f09,0xdfe49604,0xc2f68d13,0xc9f8841e,0xf8d2bb3d,0xf3dcb230,0xeecea927,0xe5c0a02a,0x3c7a47b1,0x37744ebc,0x2a6655ab,0x21685ca6,0x10426385,0x1b4c6a88,0x65e719f,0xd507892,0x640a0fd9,0x6f0406d4,0x72161dc3,0x791814ce,0x48322bed,0x433c22e0,0x5e2e39f7,0x552030fa,0x1ec9ab7,0xae293ba,0x17f088ad,0x1cfe81a0,0x2dd4be83,0x26dab78e,0x3bc8ac99,0x30c6a594,0x599cd2df,0x5292dbd2,0x4f80c0c5,0x448ec9c8,0x75a4f6eb,0x7eaaffe6,0x63b8e4f1,0x68b6edfc,0xb10c0a67,0xba02036a,0xa710187d,0xac1e1170,0x9d342e53,0x963a275e,0x8b283c49,0x80263544,0xe97c420f,0xe2724b02,0xff605015,0xf46e5918,0xc544663b,0xce4a6f36,0xd3587421,0xd8567d2c,0x7a37a10c,0x7139a801,0x6c2bb316,0x6725ba1b,0x560f8538,0x5d018c35,0x40139722,0x4b1d9e2f,0x2247e964,0x2949e069,0x345bfb7e,0x3f55f273,0xe7fcd50,0x571c45d,0x1863df4a,0x136dd647,0xcad731dc,0xc1d938d1,0xdccb23c6,0xd7c52acb,0xe6ef15e8,0xede11ce5,0xf0f307f2,0xfbfd0eff,0x92a779b4,0x99a970b9,0x84bb6bae,0x8fb562a3,0xbe9f5d80,0xb591548d,0xa8834f9a,0xa38d4697],_0x1377ac[_0x48e9e7([0x55,0x33])]=[0x0,0xd0b0e09,0x1a161c12,0x171d121b,0x342c3824,0x3927362d,0x2e3a2436,0x23312a3f,0x68587048,0x65537e41,0x724e6c5a,0x7f456253,0x5c74486c,0x517f4665,0x4662547e,0x4b695a77,0xd0b0e090,0xddbbee99,0xcaa6fc82,0xc7adf28b,0xe49cd8b4,0xe997d6bd,0xfe8ac4a6,0xf381caaf,0xb8e890d8,0xb5e39ed1,0xa2fe8cca,0xaff582c3,0x8cc4a8fc,0x81cfa6f5,0x96d2b4ee,0x9bd9bae7,0xbb7bdb3b,0xb670d532,0xa16dc729,0xac66c920,0x8f57e31f,0x825ced16,0x9541ff0d,0x984af104,0xd323ab73,0xde28a57a,0xc935b761,0xc43eb968,0xe70f9357,0xea049d5e,0xfd198f45,0xf012814c,0x6bcb3bab,0x66c035a2,0x71dd27b9,0x7cd629b0,0x5fe7038f,0x52ec0d86,0x45f11f9d,0x48fa1194,0x3934be3,0xe9845ea,0x198557f1,0x148e59f8,0x37bf73c7,0x3ab47dce,0x2da96fd5,0x20a261dc,0x6df6ad76,0x60fda37f,0x77e0b164,0x7aebbf6d,0x59da9552,0x54d19b5b,0x43cc8940,0x4ec78749,0x5aedd3e,0x8a5d337,0x1fb8c12c,0x12b3cf25,0x3182e51a,0x3c89eb13,0x2b94f908,0x269ff701,0xbd464de6,0xb04d43ef,0xa75051f4,0xaa5b5ffd,0x896a75c2,0x84617bcb,0x937c69d0,0x9e7767d9,0xd51e3dae,0xd81533a7,0xcf0821bc,0xc2032fb5,0xe132058a,0xec390b83,0xfb241998,0xf62f1791,0xd68d764d,0xdb867844,0xcc9b6a5f,0xc1906456,0xe2a14e69,0xefaa4060,0xf8b7527b,0xf5bc5c72,0xbed50605,0xb3de080c,0xa4c31a17,0xa9c8141e,0x8af93e21,0x87f23028,0x90ef2233,0x9de42c3a,0x63d96dd,0xb3698d4,0x1c2b8acf,0x112084c6,0x3211aef9,0x3f1aa0f0,0x2807b2eb,0x250cbce2,0x6e65e695,0x636ee89c,0x7473fa87,0x7978f48e,0x5a49deb1,0x5742d0b8,0x405fc2a3,0x4d54ccaa,0xdaf741ec,0xd7fc4fe5,0xc0e15dfe,0xcdea53f7,0xeedb79c8,0xe3d077c1,0xf4cd65da,0xf9c66bd3,0xb2af31a4,0xbfa43fad,0xa8b92db6,0xa5b223bf,0x86830980,0x8b880789,0x9c951592,0x919e1b9b,0xa47a17c,0x74caf75,0x1051bd6e,0x1d5ab367,0x3e6b9958,0x33609751,0x247d854a,0x29768b43,0x621fd134,0x6f14df3d,0x7809cd26,0x7502c32f,0x5633e910,0x5b38e719,0x4c25f502,0x412efb0b,0x618c9ad7,0x6c8794de,0x7b9a86c5,0x769188cc,0x55a0a2f3,0x58abacfa,0x4fb6bee1,0x42bdb0e8,0x9d4ea9f,0x4dfe496,0x13c2f68d,0x1ec9f884,0x3df8d2bb,0x30f3dcb2,0x27eecea9,0x2ae5c0a0,0xb13c7a47,0xbc37744e,0xab2a6655,0xa621685c,0x85104263,0x881b4c6a,0x9f065e71,0x920d5078,0xd9640a0f,0xd46f0406,0xc372161d,0xce791814,0xed48322b,0xe0433c22,0xf75e2e39,0xfa552030,0xb701ec9a,0xba0ae293,0xad17f088,0xa01cfe81,0x832dd4be,0x8e26dab7,0x993bc8ac,0x9430c6a5,0xdf599cd2,0xd25292db,0xc54f80c0,0xc8448ec9,0xeb75a4f6,0xe67eaaff,0xf163b8e4,0xfc68b6ed,0x67b10c0a,0x6aba0203,0x7da71018,0x70ac1e11,0x539d342e,0x5e963a27,0x498b283c,0x44802635,0xfe97c42,0x2e2724b,0x15ff6050,0x18f46e59,0x3bc54466,0x36ce4a6f,0x21d35874,0x2cd8567d,0xc7a37a1,0x17139a8,0x166c2bb3,0x1b6725ba,0x38560f85,0x355d018c,0x22401397,0x2f4b1d9e,0x642247e9,0x692949e0,0x7e345bfb,0x733f55f2,0x500e7fcd,0x5d0571c4,0x4a1863df,0x47136dd6,0xdccad731,0xd1c1d938,0xc6dccb23,0xcbd7c52a,0xe8e6ef15,0xe5ede11c,0xf2f0f307,0xfffbfd0e,0xb492a779,0xb999a970,0xae84bb6b,0xa38fb562,0x80be9f5d,0x8db59154,0x9aa8834f,0x97a38d46],_0x1377ac[_0x48e9e7([0x55,0x34])]=[0x0,0x90d0b0e,0x121a161c,0x1b171d12,0x24342c38,0x2d392736,0x362e3a24,0x3f23312a,0x48685870,0x4165537e,0x5a724e6c,0x537f4562,0x6c5c7448,0x65517f46,0x7e466254,0x774b695a,0x90d0b0e0,0x99ddbbee,0x82caa6fc,0x8bc7adf2,0xb4e49cd8,0xbde997d6,0xa6fe8ac4,0xaff381ca,0xd8b8e890,0xd1b5e39e,0xcaa2fe8c,0xc3aff582,0xfc8cc4a8,0xf581cfa6,0xee96d2b4,0xe79bd9ba,0x3bbb7bdb,0x32b670d5,0x29a16dc7,0x20ac66c9,0x1f8f57e3,0x16825ced,0xd9541ff,0x4984af1,0x73d323ab,0x7ade28a5,0x61c935b7,0x68c43eb9,0x57e70f93,0x5eea049d,0x45fd198f,0x4cf01281,0xab6bcb3b,0xa266c035,0xb971dd27,0xb07cd629,0x8f5fe703,0x8652ec0d,0x9d45f11f,0x9448fa11,0xe303934b,0xea0e9845,0xf1198557,0xf8148e59,0xc737bf73,0xce3ab47d,0xd52da96f,0xdc20a261,0x766df6ad,0x7f60fda3,0x6477e0b1,0x6d7aebbf,0x5259da95,0x5b54d19b,0x4043cc89,0x494ec787,0x3e05aedd,0x3708a5d3,0x2c1fb8c1,0x2512b3cf,0x1a3182e5,0x133c89eb,0x82b94f9,0x1269ff7,0xe6bd464d,0xefb04d43,0xf4a75051,0xfdaa5b5f,0xc2896a75,0xcb84617b,0xd0937c69,0xd99e7767,0xaed51e3d,0xa7d81533,0xbccf0821,0xb5c2032f,0x8ae13205,0x83ec390b,0x98fb2419,0x91f62f17,0x4dd68d76,0x44db8678,0x5fcc9b6a,0x56c19064,0x69e2a14e,0x60efaa40,0x7bf8b752,0x72f5bc5c,0x5bed506,0xcb3de08,0x17a4c31a,0x1ea9c814,0x218af93e,0x2887f230,0x3390ef22,0x3a9de42c,0xdd063d96,0xd40b3698,0xcf1c2b8a,0xc6112084,0xf93211ae,0xf03f1aa0,0xeb2807b2,0xe2250cbc,0x956e65e6,0x9c636ee8,0x877473fa,0x8e7978f4,0xb15a49de,0xb85742d0,0xa3405fc2,0xaa4d54cc,0xecdaf741,0xe5d7fc4f,0xfec0e15d,0xf7cdea53,0xc8eedb79,0xc1e3d077,0xdaf4cd65,0xd3f9c66b,0xa4b2af31,0xadbfa43f,0xb6a8b92d,0xbfa5b223,0x80868309,0x898b8807,0x929c9515,0x9b919e1b,0x7c0a47a1,0x75074caf,0x6e1051bd,0x671d5ab3,0x583e6b99,0x51336097,0x4a247d85,0x4329768b,0x34621fd1,0x3d6f14df,0x267809cd,0x2f7502c3,0x105633e9,0x195b38e7,0x24c25f5,0xb412efb,0xd7618c9a,0xde6c8794,0xc57b9a86,0xcc769188,0xf355a0a2,0xfa58abac,0xe14fb6be,0xe842bdb0,0x9f09d4ea,0x9604dfe4,0x8d13c2f6,0x841ec9f8,0xbb3df8d2,0xb230f3dc,0xa927eece,0xa02ae5c0,0x47b13c7a,0x4ebc3774,0x55ab2a66,0x5ca62168,0x63851042,0x6a881b4c,0x719f065e,0x78920d50,0xfd9640a,0x6d46f04,0x1dc37216,0x14ce7918,0x2bed4832,0x22e0433c,0x39f75e2e,0x30fa5520,0x9ab701ec,0x93ba0ae2,0x88ad17f0,0x81a01cfe,0xbe832dd4,0xb78e26da,0xac993bc8,0xa59430c6,0xd2df599c,0xdbd25292,0xc0c54f80,0xc9c8448e,0xf6eb75a4,0xffe67eaa,0xe4f163b8,0xedfc68b6,0xa67b10c,0x36aba02,0x187da710,0x1170ac1e,0x2e539d34,0x275e963a,0x3c498b28,0x35448026,0x420fe97c,0x4b02e272,0x5015ff60,0x5918f46e,0x663bc544,0x6f36ce4a,0x7421d358,0x7d2cd856,0xa10c7a37,0xa8017139,0xb3166c2b,0xba1b6725,0x8538560f,0x8c355d01,0x97224013,0x9e2f4b1d,0xe9642247,0xe0692949,0xfb7e345b,0xf2733f55,0xcd500e7f,0xc45d0571,0xdf4a1863,0xd647136d,0x31dccad7,0x38d1c1d9,0x23c6dccb,0x2acbd7c5,0x15e8e6ef,0x1ce5ede1,0x7f2f0f3,0xefffbfd,0x79b492a7,0x70b999a9,0x6bae84bb,0x62a38fb5,0x5d80be9f,0x548db591,0x4f9aa883,0x4697a38d];const _0x2112a6=new Uint8Array(0x10);for(let _0x409ca9=0xf;_0x409ca9>=0x0;--_0x409ca9)_0x2112a6[_0x409ca9]=_0x258045%0x100,_0x258045=parseInt(_0x258045/0x100);let _0x4791ef=null,_0x5339f0=0x10;const _0x57bd60=new Uint8Array(_0x5c1eee),_0x5af43a=[],_0xf9021f=[];_0x6c380();for(let _0x43042f=0x0;_0x43042f<_0x325da9[_0x48e9e7([0x6c,0x65,0x6e,0x67,0x74,0x68])];_0x43042f++)0x10===_0x5339f0&&(_0x4791ef=_0x263d65(_0x2112a6),_0x5339f0=0x0,_0x482563(_0x2112a6)),_0x325da9[_0x43042f]^=_0x4791ef[_0x5339f0++];return _0x325da9;function _0x2d3e4a(_0x5f324c){const _0x331946=[];for(let _0x28ae74=0x0;_0x28ae74<_0x5f324c[_0x48e9e7([0x6c,0x65,0x6e,0x67,0x74,0x68])];_0x28ae74+=0x4)_0x331946[_0x48e9e7([0x70,0x75,0x73,0x68])](_0x5f324c[_0x28ae74]<<0x18|_0x5f324c[_0x28ae74+0x1]<<0x10|_0x5f324c[_0x28ae74+0x2]<<0x8|_0x5f324c[_0x28ae74+0x3]);return _0x331946;}function _0x482563(_0x253f89){for(let _0x15c2ac=0xf;_0x15c2ac>=0x0;_0x15c2ac--){if(0xff!==_0x253f89[_0x15c2ac]){_0x253f89[_0x15c2ac]++;break;}_0x253f89[_0x15c2ac]=0x0;}}function _0x263d65(_0x3ca59d){const _0x2d4d1f=_0x5af43a[_0x48e9e7([0x6c,0x65,0x6e,0x67,0x74,0x68])]-0x1,_0xea6208=[0x0,0x0,0x0,0x0];let _0x27927c=_0x2d3e4a(_0x3ca59d);for(let _0x3846f5=0x0;_0x3846f5<0x4;_0x3846f5++)_0x27927c[_0x3846f5]^=_0x5af43a[0x0][_0x3846f5];for(let _0x393438=0x1;_0x393438<_0x2d4d1f;_0x393438++){for(let _0x51c894=0x0;_0x51c894<0x4;_0x51c894++)_0xea6208[_0x51c894]=_0x1377ac[_0x48e9e7([0x54,0x31])][_0x27927c[_0x51c894]>>0x18&0xff]^_0x1377ac[_0x48e9e7([0x54,0x32])][_0x27927c[(_0x51c894+0x1)%0x4]>>0x10&0xff]^_0x1377ac[_0x48e9e7([0x54,0x33])][_0x27927c[(_0x51c894+0x2)%0x4]>>0x8&0xff]^_0x1377ac[_0x48e9e7([0x54,0x34])][0xff&_0x27927c[(_0x51c894+0x3)%0x4]]^_0x5af43a[_0x393438][_0x51c894];_0x27927c=_0xea6208[_0x48e9e7([0x73,0x6c,0x69,0x63,0x65])]();}const _0x2863fb=new Uint8Array(0x10);let _0x55ac1c;for(let _0xb89090=0x0;_0xb89090<0x4;_0xb89090++)_0x55ac1c=_0x5af43a[_0x2d4d1f][_0xb89090],_0x2863fb[0x4*_0xb89090]=0xff&(_0x1377ac[_0x48e9e7([0x53])][_0x27927c[_0xb89090]>>0x18&0xff]^_0x55ac1c>>0x18),_0x2863fb[0x4*_0xb89090+0x1]=0xff&(_0x1377ac[_0x48e9e7([0x53])][_0x27927c[(_0xb89090+0x1)%0x4]>>0x10&0xff]^_0x55ac1c>>0x10),_0x2863fb[0x4*_0xb89090+0x2]=0xff&(_0x1377ac[_0x48e9e7([0x53])][_0x27927c[(_0xb89090+0x2)%0x4]>>0x8&0xff]^_0x55ac1c>>0x8),_0x2863fb[0x4*_0xb89090+0x3]=0xff&(_0x1377ac[_0x48e9e7([0x53])][0xff&_0x27927c[(_0xb89090+0x3)%0x4]]^_0x55ac1c);return _0x2863fb;}function _0x6c380(){const _0x20dd62=_0x1377ac[_0x48e9e7([0x6e,0x75,0x6d,0x62,0x65,0x72,0x4f,0x66,0x52,0x6f,0x75,0x6e,0x64,0x73])][_0x57bd60[_0x48e9e7([0x6c,0x65,0x6e,0x67,0x74,0x68])]];for(let _0x18778b=0x0;_0x18778b<=_0x20dd62;_0x18778b++)_0x5af43a[_0x48e9e7([0x70,0x75,0x73,0x68])]([0x0,0x0,0x0,0x0]),_0xf9021f[_0x48e9e7([0x70,0x75,0x73,0x68])]([0x0,0x0,0x0,0x0]);const _0x5064cd=0x4*(_0x20dd62+0x1),_0x3e3197=_0x57bd60[_0x48e9e7([0x6c,0x65,0x6e,0x67,0x74,0x68])]/0x4,_0x2ab5bb=_0x2d3e4a(_0x57bd60);let _0x146d0d;for(let _0x4cad94=0x0;_0x4cad94<_0x3e3197;_0x4cad94++)_0x146d0d=_0x4cad94>>0x2,_0x5af43a[_0x146d0d][_0x4cad94%0x4]=_0x2ab5bb[_0x4cad94],_0xf9021f[_0x20dd62-_0x146d0d][_0x4cad94%0x4]=_0x2ab5bb[_0x4cad94];let _0x21273b,_0x51bd5f=0x0,_0x347246=_0x3e3197;for(;_0x347246<_0x5064cd;){_0x21273b=_0x2ab5bb[_0x3e3197-0x1],_0x2ab5bb[0x0]^=_0x1377ac[_0x48e9e7([0x53])][_0x21273b>>0x10&0xff]<<0x18^_0x1377ac[_0x48e9e7([0x53])][_0x21273b>>0x8&0xff]<<0x10^_0x1377ac[_0x48e9e7([0x53])][0xff&_0x21273b]<<0x8^_0x1377ac[_0x48e9e7([0x53])][_0x21273b>>0x18&0xff]^_0x1377ac[_0x48e9e7([0x72,0x63,0x6f,0x6e])][_0x51bd5f]<<0x18,_0x51bd5f+=0x1;for(let _0x2eae52=0x1;_0x2eae52<_0x3e3197/0x2;_0x2eae52++)_0x2ab5bb[_0x2eae52]^=_0x2ab5bb[_0x2eae52-0x1];_0x21273b=_0x2ab5bb[_0x3e3197/0x2-0x1],_0x2ab5bb[_0x3e3197/0x2]^=_0x1377ac[_0x48e9e7([0x53])][0xff&_0x21273b]^_0x1377ac[_0x48e9e7([0x53])][_0x21273b>>0x8&0xff]<<0x8^_0x1377ac[_0x48e9e7([0x53])][_0x21273b>>0x10&0xff]<<0x10^_0x1377ac[_0x48e9e7([0x53])][_0x21273b>>0x18&0xff]<<0x18;for(let _0x20ff60=_0x3e3197/0x2+0x1;_0x20ff60<_0x3e3197;_0x20ff60++)_0x2ab5bb[_0x20ff60]^=_0x2ab5bb[_0x20ff60-0x1];let _0x399a20,_0x2e52c9,_0x26cbce=0x0;for(;_0x26cbce<_0x3e3197&&_0x347246<_0x5064cd;)_0x399a20=_0x347246>>0x2,_0x2e52c9=_0x347246%0x4,_0x5af43a[_0x399a20][_0x2e52c9]=_0x2ab5bb[_0x26cbce],_0xf9021f[_0x20dd62-_0x399a20][_0x2e52c9]=_0x2ab5bb[_0x26cbce++],_0x347246++;}for(let _0x46837d=0x1;_0x46837d<_0x20dd62;_0x46837d++)for(let _0xf9012c=0x0;_0xf9012c<0x4;_0xf9012c++)_0x21273b=_0xf9021f[_0x46837d][_0xf9012c],_0xf9021f[_0x46837d][_0xf9012c]=_0x1377ac[_0x48e9e7([0x55,0x31])][_0x21273b>>0x18&0xff]^_0x1377ac[_0x48e9e7([0x55,0x32])][_0x21273b>>0x10&0xff]^_0x1377ac[_0x48e9e7([0x55,0x33])][_0x21273b>>0x8&0xff]^_0x1377ac[_0x48e9e7([0x55,0x34])][0xff&_0x21273b];}}function _0x48e9e7(_0x92568f){return _0x92568f[_0x4e06('0x10')](_0x5b2d70=>String['fromCharCode'](_0x5b2d70))[_0x4e06('0x37')]('');}(_0x3f7357=>{function _0x2341f5(){const _0x441219=[{[_0x48e9e7([0x69,0x64])]:0x1,[_0x48e9e7([0x66,0x65,0x61,0x74,0x75,0x72,0x65,0x4e,0x61,0x6d,0x65])]:_0x48e9e7([0x43,0x6f,0x6d,0x6d,0x65,0x6e,0x74,0x73]),[_0x48e9e7([0x70,0x6c,0x75,0x67,0x69,0x6e,0x4e,0x61,0x6d,0x65])]:_0x48e9e7([0x43,0x6f,0x6d,0x6d,0x65,0x6e,0x74,0x73,0x52,0x65,0x70,0x6f,0x73,0x69,0x74,0x6f,0x72,0x79]),[_0x48e9e7([0x6c,0x69,0x63,0x65,0x6e,0x73,0x65,0x53,0x74,0x61,0x74,0x75,0x73,0x50,0x72,0x65,0x66,0x69,0x78])]:_0x48e9e7([0x6c,0x69,0x63,0x65,0x6e,0x73,0x65,0x4b,0x65,0x79]),[_0x48e9e7([0x68,0x61,0x6e,0x64,0x6c,0x65,0x72])]:_0x48e9e7([0x63,0x68,0x65,0x63,0x6b,0x4c,0x69,0x63,0x65,0x6e,0x73,0x65]),[_0x48e9e7([0x63,0x68,0x65,0x63,0x6b,0x41,0x6c,0x73,0x6f])]:[{[_0x48e9e7([0x69,0x64])]:0x2,[_0x48e9e7([0x66,0x65,0x61,0x74,0x75,0x72,0x65,0x4e,0x61,0x6d,0x65])]:_0x48e9e7([0x54,0x72,0x61,0x63,0x6b,0x20,0x43,0x68,0x61,0x6e,0x67,0x65,0x73]),[_0x48e9e7([0x70,0x6c,0x75,0x67,0x69,0x6e,0x4e,0x61,0x6d,0x65])]:_0x48e9e7([0x54,0x72,0x61,0x63,0x6b,0x43,0x68,0x61,0x6e,0x67,0x65,0x73,0x45,0x64,0x69,0x74,0x69,0x6e,0x67]),[_0x48e9e7([0x6c,0x69,0x63,0x65,0x6e,0x73,0x65,0x53,0x74,0x61,0x74,0x75,0x73,0x50,0x72,0x65,0x66,0x69,0x78])]:_0x48e9e7([0x6c,0x69,0x63,0x65,0x6e,0x73,0x65,0x4b,0x65,0x79]),[_0x48e9e7([0x68,0x61,0x6e,0x64,0x6c,0x65,0x72])]:_0x48e9e7([0x63,0x68,0x65,0x63,0x6b,0x4c,0x69,0x63,0x65,0x6e,0x73,0x65,0x46,0x6f,0x72,0x54,0x72,0x61,0x63,0x6b,0x43,0x68,0x61,0x6e,0x67,0x65,0x73]),[_0x48e9e7([0x6f,0x70,0x74,0x69,0x6f,0x6e,0x73])]:{[_0x48e9e7([0x61,0x69,0x77,0x73,0x67,0x69,0x63])]:!0x0,[_0x48e9e7([0x61,0x69,0x74,0x63,0x64,0x67,0x69,0x6c])]:!0x0,[_0x48e9e7([0x61,0x69,0x72,0x76,0x69,0x69,0x6c])]:!0x0}}],[_0x48e9e7([0x6f,0x70,0x74,0x69,0x6f,0x6e,0x73])]:{[_0x48e9e7([0x61,0x69,0x77,0x73,0x67,0x69,0x63])]:!0x0,[_0x48e9e7([0x61,0x69,0x74,0x63,0x64,0x67,0x69,0x6c])]:!0x0,[_0x48e9e7([0x61,0x69,0x72,0x76,0x69,0x69,0x6c])]:!0x0}},{[_0x48e9e7([0x69,0x64])]:0x3,[_0x48e9e7([0x66,0x65,0x61,0x74,0x75,0x72,0x65,0x4e,0x61,0x6d,0x65])]:_0x48e9e7([0x50,0x61,0x67,0x69,0x6e,0x61,0x74,0x69,0x6f,0x6e]),[_0x48e9e7([0x70,0x6c,0x75,0x67,0x69,0x6e,0x4e,0x61,0x6d,0x65])]:_0x48e9e7([0x50,0x61,0x67,0x69,0x6e,0x61,0x74,0x69,0x6f,0x6e,0x4c,0x6f,0x6f,0x6b,0x75,0x70]),[_0x48e9e7([0x6c,0x69,0x63,0x65,0x6e,0x73,0x65,0x53,0x74,0x61,0x74,0x75,0x73,0x50,0x72,0x65,0x66,0x69,0x78])]:_0x48e9e7([0x70,0x61,0x67,0x69,0x6e,0x61,0x74,0x69,0x6f,0x6e,0x4c,0x69,0x63,0x65,0x6e,0x73,0x65,0x4b,0x65,0x79]),[_0x48e9e7([0x68,0x61,0x6e,0x64,0x6c,0x65,0x72])]:_0x48e9e7([0x63,0x68,0x65,0x63,0x6b,0x4c,0x69,0x63,0x65,0x6e,0x73,0x65])},{[_0x48e9e7([0x69,0x64])]:0x4,[_0x48e9e7([0x66,0x65,0x61,0x74,0x75,0x72,0x65,0x4e,0x61,0x6d,0x65])]:_0x48e9e7([0x52,0x65,0x76,0x69,0x73,0x69,0x6f,0x6e,0x20,0x48,0x69,0x73,0x74,0x6f,0x72,0x79]),[_0x48e9e7([0x70,0x6c,0x75,0x67,0x69,0x6e,0x4e,0x61,0x6d,0x65])]:_0x48e9e7([0x52,0x65,0x76,0x69,0x73,0x69,0x6f,0x6e,0x73,0x52,0x65,0x70,0x6f,0x73,0x69,0x74,0x6f,0x72,0x79]),[_0x48e9e7([0x6c,0x69,0x63,0x65,0x6e,0x73,0x65,0x53,0x74,0x61,0x74,0x75,0x73,0x50,0x72,0x65,0x66,0x69,0x78])]:_0x48e9e7([0x6c,0x69,0x63,0x65,0x6e,0x73,0x65,0x4b,0x65,0x79]),[_0x48e9e7([0x68,0x61,0x6e,0x64,0x6c,0x65,0x72])]:_0x48e9e7([0x63,0x68,0x65,0x63,0x6b,0x4c,0x69,0x63,0x65,0x6e,0x73,0x65,0x46,0x6f,0x72,0x52,0x65,0x76,0x69,0x73,0x69,0x6f,0x6e,0x48,0x69,0x73,0x74,0x6f,0x72,0x79]),[_0x48e9e7([0x6f,0x70,0x74,0x69,0x6f,0x6e,0x73])]:{[_0x48e9e7([0x61,0x69,0x77,0x73,0x67,0x69,0x63])]:!0x0,[_0x48e9e7([0x61,0x69,0x74,0x63,0x64,0x67,0x69,0x6c])]:!0x0,[_0x48e9e7([0x61,0x69,0x72,0x76,0x69,0x69,0x6c])]:!0x0}},{[_0x48e9e7([0x69,0x64])]:0x5,[_0x48e9e7([0x66,0x65,0x61,0x74,0x75,0x72,0x65,0x4e,0x61,0x6d,0x65])]:_0x48e9e7([0x44,0x6f,0x63,0x75,0x6d,0x65,0x6e,0x74,0x20,0x4f,0x75,0x74,0x6c,0x69,0x6e,0x65]),[_0x48e9e7([0x70,0x6c,0x75,0x67,0x69,0x6e,0x4e,0x61,0x6d,0x65])]:_0x48e9e7([0x44,0x6f,0x63,0x75,0x6d,0x65,0x6e,0x74,0x4f,0x75,0x74,0x6c,0x69,0x6e,0x65,0x55,0x49]),[_0x48e9e7([0x6c,0x69,0x63,0x65,0x6e,0x73,0x65,0x53,0x74,0x61,0x74,0x75,0x73,0x50,0x72,0x65,0x66,0x69,0x78])]:_0x48e9e7([0x64,0x6f,0x63,0x75,0x6d,0x65,0x6e,0x74,0x4f,0x75,0x74,0x6c,0x69,0x6e,0x65,0x4c,0x69,0x63,0x65,0x6e,0x73,0x65,0x4b,0x65,0x79]),[_0x48e9e7([0x68,0x61,0x6e,0x64,0x6c,0x65,0x72])]:_0x48e9e7([0x63,0x68,0x65,0x63,0x6b,0x4c,0x69,0x63,0x65,0x6e,0x73,0x65])},{[_0x48e9e7([0x69,0x64])]:0x6,[_0x48e9e7([0x66,0x65,0x61,0x74,0x75,0x72,0x65,0x4e,0x61,0x6d,0x65])]:_0x48e9e7([0x46,0x6f,0x72,0x6d,0x61,0x74,0x20,0x50,0x61,0x69,0x6e,0x74,0x65,0x72]),[_0x48e9e7([0x70,0x6c,0x75,0x67,0x69,0x6e,0x4e,0x61,0x6d,0x65])]:_0x48e9e7([0x46,0x6f,0x72,0x6d,0x61,0x74,0x50,0x61,0x69,0x6e,0x74,0x65,0x72,0x55,0x49]),[_0x48e9e7([0x6c,0x69,0x63,0x65,0x6e,0x73,0x65,0x53,0x74,0x61,0x74,0x75,0x73,0x50,0x72,0x65,0x66,0x69,0x78])]:_0x48e9e7([0x66,0x6f,0x72,0x6d,0x61,0x74,0x50,0x61,0x69,0x6e,0x74,0x65,0x72,0x4c,0x69,0x63,0x65,0x6e,0x73,0x65,0x4b,0x65,0x79]),[_0x48e9e7([0x68,0x61,0x6e,0x64,0x6c,0x65,0x72])]:_0x48e9e7([0x63,0x68,0x65,0x63,0x6b,0x4c,0x69,0x63,0x65,0x6e,0x73,0x65])},{[_0x48e9e7([0x69,0x64])]:0x7,[_0x48e9e7([0x66,0x65,0x61,0x74,0x75,0x72,0x65,0x4e,0x61,0x6d,0x65])]:_0x48e9e7([0x53,0x6c,0x61,0x73,0x68,0x20,0x43,0x6f,0x6d,0x6d,0x61,0x6e,0x64]),[_0x48e9e7([0x70,0x6c,0x75,0x67,0x69,0x6e,0x4e,0x61,0x6d,0x65])]:_0x48e9e7([0x53,0x6c,0x61,0x73,0x68,0x43,0x6f,0x6d,0x6d,0x61,0x6e,0x64,0x55,0x49]),[_0x48e9e7([0x6c,0x69,0x63,0x65,0x6e,0x73,0x65,0x53,0x74,0x61,0x74,0x75,0x73,0x50,0x72,0x65,0x66,0x69,0x78])]:_0x48e9e7([0x73,0x6c,0x61,0x73,0x68,0x43,0x6f,0x6d,0x6d,0x61,0x6e,0x64,0x4c,0x69,0x63,0x65,0x6e,0x73,0x65,0x4b,0x65,0x79]),[_0x48e9e7([0x68,0x61,0x6e,0x64,0x6c,0x65,0x72])]:_0x48e9e7([0x63,0x68,0x65,0x63,0x6b,0x4c,0x69,0x63,0x65,0x6e,0x73,0x65])},{[_0x48e9e7([0x69,0x64])]:0x8,[_0x48e9e7([0x66,0x65,0x61,0x74,0x75,0x72,0x65,0x4e,0x61,0x6d,0x65])]:_0x48e9e7([0x54,0x61,0x62,0x6c,0x65,0x20,0x6f,0x66,0x20,0x43,0x6f,0x6e,0x74,0x65,0x6e,0x74,0x73]),[_0x48e9e7([0x70,0x6c,0x75,0x67,0x69,0x6e,0x4e,0x61,0x6d,0x65])]:_0x48e9e7([0x54,0x61,0x62,0x6c,0x65,0x4f,0x66,0x43,0x6f,0x6e,0x74,0x65,0x6e,0x74,0x73,0x45,0x64,0x69,0x74,0x69,0x6e,0x67]),[_0x48e9e7([0x6c,0x69,0x63,0x65,0x6e,0x73,0x65,0x53,0x74,0x61,0x74,0x75,0x73,0x50,0x72,0x65,0x66,0x69,0x78])]:_0x48e9e7([0x74,0x61,0x62,0x6c,0x65,0x4f,0x66,0x43,0x6f,0x6e,0x74,0x65,0x6e,0x74,0x73,0x4c,0x69,0x63,0x65,0x6e,0x73,0x65,0x4b,0x65,0x79]),[_0x48e9e7([0x68,0x61,0x6e,0x64,0x6c,0x65,0x72])]:_0x48e9e7([0x63,0x68,0x65,0x63,0x6b,0x4c,0x69,0x63,0x65,0x6e,0x73,0x65])},{[_0x48e9e7([0x69,0x64])]:0x9,[_0x48e9e7([0x66,0x65,0x61,0x74,0x75,0x72,0x65,0x4e,0x61,0x6d,0x65])]:_0x48e9e7([0x54,0x65,0x6d,0x70,0x6c,0x61,0x74,0x65]),[_0x48e9e7([0x70,0x6c,0x75,0x67,0x69,0x6e,0x4e,0x61,0x6d,0x65])]:_0x48e9e7([0x54,0x65,0x6d,0x70,0x6c,0x61,0x74,0x65,0x55,0x49]),[_0x48e9e7([0x6c,0x69,0x63,0x65,0x6e,0x73,0x65,0x53,0x74,0x61,0x74,0x75,0x73,0x50,0x72,0x65,0x66,0x69,0x78])]:_0x48e9e7([0x74,0x65,0x6d,0x70,0x6c,0x61,0x74,0x65,0x4c,0x69,0x63,0x65,0x6e,0x73,0x65,0x4b,0x65,0x79]),[_0x48e9e7([0x68,0x61,0x6e,0x64,0x6c,0x65,0x72])]:_0x48e9e7([0x63,0x68,0x65,0x63,0x6b,0x4c,0x69,0x63,0x65,0x6e,0x73,0x65])},{[_0x48e9e7([0x69,0x64])]:0xa,[_0x48e9e7([0x66,0x65,0x61,0x74,0x75,0x72,0x65,0x4e,0x61,0x6d,0x65])]:_0x48e9e7([0x50,0x61,0x73,0x74,0x65,0x20,0x66,0x72,0x6f,0x6d,0x20,0x4f,0x66,0x66,0x69,0x63,0x65,0x20,0x45,0x6e,0x68,0x61,0x6e,0x63,0x65,0x64]),[_0x48e9e7([0x70,0x6c,0x75,0x67,0x69,0x6e,0x4e,0x61,0x6d,0x65])]:_0x48e9e7([0x50,0x61,0x73,0x74,0x65,0x46,0x72,0x6f,0x6d,0x4f,0x66,0x66,0x69,0x63,0x65,0x45,0x6e,0x68,0x61,0x6e,0x63,0x65,0x64,0x49,0x6e,0x6c,0x69,0x6e,0x65,0x72]),[_0x48e9e7([0x6c,0x69,0x63,0x65,0x6e,0x73,0x65,0x53,0x74,0x61,0x74,0x75,0x73,0x50,0x72,0x65,0x66,0x69,0x78])]:_0x48e9e7([0x70,0x61,0x73,0x74,0x65,0x46,0x72,0x6f,0x6d,0x4f,0x66,0x66,0x69,0x63,0x65,0x45,0x6e,0x68,0x61,0x6e,0x63,0x65,0x64,0x4c,0x69,0x63,0x65,0x6e,0x73,0x65,0x4b,0x65,0x79]),[_0x48e9e7([0x68,0x61,0x6e,0x64,0x6c,0x65,0x72])]:_0x48e9e7([0x63,0x68,0x65,0x63,0x6b,0x4c,0x69,0x63,0x65,0x6e,0x73,0x65])},{[_0x48e9e7([0x69,0x64])]:0xb,[_0x48e9e7([0x66,0x65,0x61,0x74,0x75,0x72,0x65,0x4e,0x61,0x6d,0x65])]:_0x48e9e7([0x41,0x49,0x20,0x41,0x73,0x73,0x69,0x73,0x74,0x61,0x6e,0x74]),[_0x48e9e7([0x70,0x6c,0x75,0x67,0x69,0x6e,0x4e,0x61,0x6d,0x65])]:_0x48e9e7([0x41,0x49,0x41,0x73,0x73,0x69,0x73,0x74,0x61,0x6e,0x74,0x55,0x49]),[_0x48e9e7([0x6c,0x69,0x63,0x65,0x6e,0x73,0x65,0x53,0x74,0x61,0x74,0x75,0x73,0x50,0x72,0x65,0x66,0x69,0x78])]:_0x48e9e7([0x61,0x69,0x4c,0x69,0x63,0x65,0x6e,0x73,0x65,0x4b,0x65,0x79]),[_0x48e9e7([0x68,0x61,0x6e,0x64,0x6c,0x65,0x72])]:_0x48e9e7([0x63,0x68,0x65,0x63,0x6b,0x4c,0x69,0x63,0x65,0x6e,0x73,0x65])}];return _0x47e7f6(_0x441219),_0x441219;function _0x783047(_0x2a2433){return 0x1<<_0x2a2433-0x1;}function _0x47e7f6(_0x4ed67a){_0x4ed67a[_0x48e9e7([0x66,0x6f,0x72,0x45,0x61,0x63,0x68])](_0x36bbc8=>{_0x36bbc8[_0x48e9e7([0x70,0x65,0x72,0x6d,0x69,0x73,0x73,0x69,0x6f,0x6e,0x4d,0x61,0x73,0x6b])]=_0x783047(_0x36bbc8[_0x48e9e7([0x69,0x64])]),_0x36bbc8[_0x48e9e7([0x63,0x68,0x65,0x63,0x6b,0x41,0x6c,0x73,0x6f])]&&_0x47e7f6(_0x36bbc8[_0x48e9e7([0x63,0x68,0x65,0x63,0x6b,0x41,0x6c,0x73,0x6f])]);});}}const _0x472cce=[0x1,0x55,0x4e,0x73,0xc6,0xff,0x32,0x70,0x53,0x57,0xa1],_0x916f24=[0x7f,0x22,0x6,0xd3,0xa7,0x56,0x92,0xc7,0x84,0xa0,0x12];function _0x4abe54(_0x2914dd){const _0x4422cb=[0x1d,0xdd,0xaf,0x5a,0xe7,0x85,0xef,0xf0,0x4b,0xb4];return _0x643472(_0x2914dd,new Uint8Array([..._0x472cce,..._0x4422cb,..._0x916f24]));}function _0x643472(_0x48be59,_0x6de72e){const _0x52f7e1=_0x9e0950(_0x48be59),_0x12d9f7=Array[_0x48e9e7([0x66,0x72,0x6f,0x6d])](_0xd8b691(_0x52f7e1)),_0x128f35=_0x12d9f7[_0x48e9e7([0x70,0x6f,0x70])](),_0x5f1f1e=_0x12d9f7[_0x48e9e7([0x70,0x6f,0x70])]();return _0x274035(_0x23796b(_0x12d9f7,_0x6de72e,_0x5f1f1e+0x100*_0x128f35));}function _0x9e0950(_0xf0e4fc){const _0x59bb77=atob(_0xf0e4fc),[_0x5116c4,_0x143273]=_0x59bb77[_0x48e9e7([0x73,0x70,0x6c,0x69,0x74])](_0x48e9e7([0x2d]));try{if(atob(_0x143273))return atob(_0x5116c4);}catch(_0x2d6560){}return _0x59bb77;}const _0x3db40b=_0x2341f5(),_0x26e228={[_0x48e9e7([0x63,0x68,0x65,0x63,0x6b,0x4c,0x69,0x63,0x65,0x6e,0x73,0x65])]:_0x1fcc69,[_0x48e9e7([0x63,0x68,0x65,0x63,0x6b,0x4c,0x69,0x63,0x65,0x6e,0x73,0x65,0x46,0x6f,0x72,0x54,0x72,0x61,0x63,0x6b,0x43,0x68,0x61,0x6e,0x67,0x65,0x73])]:_0xe0a387,[_0x48e9e7([0x63,0x68,0x65,0x63,0x6b,0x4c,0x69,0x63,0x65,0x6e,0x73,0x65,0x46,0x6f,0x72,0x52,0x65,0x76,0x69,0x73,0x69,0x6f,0x6e,0x48,0x69,0x73,0x74,0x6f,0x72,0x79])]:_0x749fec},_0x51aac9=_0x3f7357[_0x48e9e7([0x63,0x6f,0x6e,0x73,0x74,0x72,0x75,0x63,0x74,0x6f,0x72])][_0x48e9e7([0x70,0x6c,0x75,0x67,0x69,0x6e,0x4e,0x61,0x6d,0x65])],_0x60669b=_0x48e9e7([0x63,0x6f,0x6e,0x74,0x65,0x78,0x74])in _0x3f7357?_0x3f7357[_0x4e06('0x3f')]:_0x3f7357[_0x4e06('0x5')],_0x273d71=_0x48e9e7([0x34,0x30,0x34,0x36,0x32,0x30,0x30,0x38]),_0x20d51e=_0x48e9e7([0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39]),_0xe0c9e9=_0x60669b[_0x4e06('0x5b')][_0x4e06('0x11')](_0x48e9e7([0x6c,0x69,0x63,0x65,0x6e,0x73,0x65,0x4b,0x65,0x79])),_0x279f1a=_0x3db40b[_0x48e9e7([0x66,0x69,0x6e,0x64])](_0x525b0d=>_0x525b0d[_0x48e9e7([0x70,0x6c,0x75,0x67,0x69,0x6e,0x4e,0x61,0x6d,0x65])]===_0x51aac9);function _0x3a9dfd(_0x3ebedb,_0x4ab9b3){_0x26e228[_0x4ab9b3[_0x48e9e7([0x68,0x61,0x6e,0x64,0x6c,0x65,0x72])]](_0x3ebedb,_0x4ab9b3),_0x4ab9b3[_0x48e9e7([0x63,0x68,0x65,0x63,0x6b,0x41,0x6c,0x73,0x6f])]&&_0x4ab9b3[_0x48e9e7([0x63,0x68,0x65,0x63,0x6b,0x41,0x6c,0x73,0x6f])][_0x48e9e7([0x66,0x69,0x6c,0x74,0x65,0x72])](_0x5aa4e8=>_0x381e65(_0x60669b,_0x5aa4e8[_0x48e9e7([0x70,0x6c,0x75,0x67,0x69,0x6e,0x4e,0x61,0x6d,0x65])]))[_0x48e9e7([0x66,0x6f,0x72,0x45,0x61,0x63,0x68])](_0x393a44=>_0x3a9dfd(_0x3ebedb,_0x393a44));}function _0x2bb343(_0x4ca460){try{const _0x2fd43c=_0x4abe54(_0x4ca460),_0x4bf12b=JSON[_0x48e9e7([0x70,0x61,0x72,0x73,0x65])](_0x2fd43c),_0x28944a=parseInt(_0x4bf12b[_0x48e9e7([0x31])]),_0x369020=parseInt(_0x4bf12b[_0x48e9e7([0x33])]),_0x4d248a=parseInt(_0x4bf12b[_0x48e9e7([0x34])])||0x0,_0x3cf2f6=parseInt(_0x4bf12b[_0x48e9e7([0x35])])||0x0;return{[_0x48e9e7([0x61,0x6c,0x6c,0x6f,0x77,0x65,0x64,0x50,0x6c,0x75,0x67,0x69,0x6e,0x73])]:_0x4d248a,[_0x48e9e7([0x65,0x78,0x70,0x69,0x72,0x61,0x74,0x69,0x6f,0x6e,0x44,0x61,0x74,0x65])]:_0x28944a,[_0x48e9e7([0x69,0x73,0x54,0x72,0x69,0x61,0x6c])]:_0x369020,[_0x48e9e7([0x69,0x73,0x49,0x6e,0x74,0x65,0x72,0x6e,0x61,0x6c])]:_0x3cf2f6};}catch(_0x205775){return null;}}function _0x1fcc69(_0x47ef9b,_0x1fec34){_0x534ccf(_0x32b3eb(_0x47ef9b,_0x1fec34),_0x1fec34);}function _0xe0a387(_0x1ad0df,_0x4788eb){function _0x5afaea(_0x286796,_0x3b5988){try{if(_0x381e65(_0x60669b,_0x48e9e7([0x54,0x72,0x61,0x63,0x6b,0x43,0x68,0x61,0x6e,0x67,0x65,0x73,0x45,0x64,0x69,0x74,0x69,0x6e,0x67]))&&_0x286796){const _0xa435ac=_0x303f13(_0x60669b,_0x48e9e7([0x54,0x72,0x61,0x63,0x6b,0x43,0x68,0x61,0x6e,0x67,0x65,0x73,0x45,0x64,0x69,0x74,0x69,0x6e,0x67]))[_0x48e9e7([0x5f,0x65,0x78,0x65,0x63,0x75,0x74,0x65,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x69,0x6f,0x6e])];if(parseInt(_0xa435ac)/0x2>_0x286796[_0x48e9e7([0x65,0x78,0x70,0x69,0x72,0x61,0x74,0x69,0x6f,0x6e,0x44,0x61,0x74,0x65])])return _0x516785(_0x3b5988[_0x48e9e7([0x6c,0x69,0x63,0x65,0x6e,0x73,0x65,0x53,0x74,0x61,0x74,0x75,0x73,0x50,0x72,0x65,0x66,0x69,0x78])]+_0x48e9e7([0x49,0x6e,0x76,0x61,0x6c,0x69,0x64]));}return _0x32b3eb(_0x286796,_0x3b5988);}catch(_0x2756f3){return _0x516785(_0x3b5988[_0x48e9e7([0x6c,0x69,0x63,0x65,0x6e,0x73,0x65,0x53,0x74,0x61,0x74,0x75,0x73,0x50,0x72,0x65,0x66,0x69,0x78])]+_0x48e9e7([0x49,0x6e,0x76,0x61,0x6c,0x69,0x64]));}}_0x534ccf(_0x5afaea(_0x1ad0df,_0x4788eb),_0x4788eb);}function _0x749fec(_0x3468a6,_0x2af2ef){const _0x17041b=_0x916f24[0x0]*_0x472cce[0x1],_0x164c85=_0x916f24[0x0]*_0x472cce[0x2],_0x670f44=_0x916f24[0x2]*_0x472cce[0x2];_0x381e65(_0x60669b,_0x48e9e7([0x57,0x65,0x62,0x53,0x6f,0x63,0x6b,0x65,0x74,0x47,0x61,0x74,0x65,0x77,0x61,0x79]))&&_0x303f13(_0x60669b,_0x48e9e7([0x57,0x65,0x62,0x53,0x6f,0x63,0x6b,0x65,0x74,0x47,0x61,0x74,0x65,0x77,0x61,0x79]))[_0x48e9e7([0x73,0x74,0x61,0x74,0x65])]==_0x48e9e7([0x63,0x6f,0x6e,0x6e,0x65,0x63,0x74,0x65,0x64])&&(window[_0x108f1e()]=_0x670f44);function _0x4320a6(_0x35e141,_0x3538c7){try{return _0x122ff3()?_0x516785(_0x3538c7[_0x48e9e7([0x6c,0x69,0x63,0x65,0x6e,0x73,0x65,0x53,0x74,0x61,0x74,0x75,0x73,0x50,0x72,0x65,0x66,0x69,0x78])]+_0x48e9e7([0x56,0x61,0x6c,0x69,0x64])):_0x32b3eb(_0x35e141,_0x3538c7);}catch(_0x4738d7){return _0x516785(_0x3538c7[_0x48e9e7([0x6c,0x69,0x63,0x65,0x6e,0x73,0x65,0x53,0x74,0x61,0x74,0x75,0x73,0x50,0x72,0x65,0x66,0x69,0x78])]+_0x48e9e7([0x49,0x6e,0x76,0x61,0x6c,0x69,0x64]));}}function _0x58fa14(_0x40ed28,_0x1a7442){const _0xee2b3f=0x7;if(_0x40ed28==_0x1a7442[_0x48e9e7([0x6c,0x69,0x63,0x65,0x6e,0x73,0x65,0x53,0x74,0x61,0x74,0x75,0x73,0x50,0x72,0x65,0x66,0x69,0x78])]+_0x48e9e7([0x49,0x6e,0x76,0x61,0x6c,0x69,0x64]))_0x53664f();else{if(_0x40ed28==_0x1a7442[_0x48e9e7([0x6c,0x69,0x63,0x65,0x6e,0x73,0x65,0x53,0x74,0x61,0x74,0x75,0x73,0x50,0x72,0x65,0x66,0x69,0x78])]+_0x48e9e7([0x54,0x72,0x69,0x61,0x6c])){const _0x238b50=_0x306267();_0x238b50&&_0x349aa9(_0x238b50,_0x1a7442[_0x48e9e7([0x6c,0x69,0x63,0x65,0x6e,0x73,0x65,0x53,0x74,0x61,0x74,0x75,0x73,0x50,0x72,0x65,0x66,0x69,0x78])]);const _0x151363=_0x3b060b();window[_0x48e9e7([0x73,0x65,0x74,0x54,0x69,0x6d,0x65,0x6f,0x75,0x74])](()=>{_0x349aa9(_0x48e9e7([0x74,0x69,0x6d,0x65]),_0x1a7442[_0x48e9e7([0x6c,0x69,0x63,0x65,0x6e,0x73,0x65,0x53,0x74,0x61,0x74,0x75,0x73,0x50,0x72,0x65,0x66,0x69,0x78])]);},_0x151363);const _0x31f4c5=_0x303f13(_0x60669b,_0x48e9e7([0x52,0x65,0x76,0x69,0x73,0x69,0x6f,0x6e,0x73,0x52,0x65,0x70,0x6f,0x73,0x69,0x74,0x6f,0x72,0x79]))[_0x48e9e7([0x5f,0x72,0x65,0x76,0x69,0x73,0x69,0x6f,0x6e,0x73])];_0x31f4c5[_0x48e9e7([0x6c,0x65,0x6e,0x67,0x74,0x68])]>=_0xee2b3f?_0x349aa9(_0x48e9e7([0x72,0x65,0x76,0x69,0x73,0x69,0x6f,0x6e,0x73]),_0x1a7442[_0x48e9e7([0x6c,0x69,0x63,0x65,0x6e,0x73,0x65,0x53,0x74,0x61,0x74,0x75,0x73,0x50,0x72,0x65,0x66,0x69,0x78])]):_0x31f4c5['on'](_0x48e9e7([0x61,0x64,0x64]),()=>{_0x31f4c5[_0x48e9e7([0x6c,0x65,0x6e,0x67,0x74,0x68])]>=_0xee2b3f&&_0x349aa9(_0x48e9e7([0x72,0x65,0x76,0x69,0x73,0x69,0x6f,0x6e,0x73]),_0x1a7442[_0x48e9e7([0x6c,0x69,0x63,0x65,0x6e,0x73,0x65,0x53,0x74,0x61,0x74,0x75,0x73,0x50,0x72,0x65,0x66,0x69,0x78])]);});}}}function _0x306267(){if(!_0x381e65(_0x60669b,_0x48e9e7([0x52,0x65,0x76,0x69,0x73,0x69,0x6f,0x6e,0x56,0x69,0x65,0x77,0x65,0x72])))return!0x1;for(const _0x32c0f8 in window)if(Number[_0x4e06('0x18')](Number(_0x32c0f8))){if(window[_0x32c0f8]===_0x17041b)return _0x48e9e7([0x74,0x69,0x6d,0x65]);if(window[_0x32c0f8]===_0x164c85)return _0x48e9e7([0x72,0x65,0x76,0x69,0x73,0x69,0x6f,0x6e,0x73]);}return!0x1;}function _0x122ff3(){if(!_0x381e65(_0x60669b,_0x48e9e7([0x52,0x65,0x76,0x69,0x73,0x69,0x6f,0x6e,0x56,0x69,0x65,0x77,0x65,0x72])))return!0x1;for(const _0x303042 in window)if(Number[_0x4e06('0x18')](Number(_0x303042))&&window[_0x303042]===_0x670f44)return!0x0;return!0x1;}function _0x349aa9(_0x2cc234,_0x19b0ab){_0x53664f(),_0x516785(_0x19b0ab+_0x48e9e7([0x54,0x72,0x69,0x61,0x6c,0x4c,0x69,0x6d,0x69,0x74,0x3a])+_0x2cc234),window[_0x108f1e()]=_0x2cc234===_0x48e9e7([0x74,0x69,0x6d,0x65])?_0x17041b:_0x164c85;}function _0x3b060b(){let _0x3ffcad=_0x916f24[0x6]*_0x472cce[0x8]*_0x472cce[0x6];return _0x381e65(_0x60669b,_0x48e9e7([0x52,0x65,0x76,0x69,0x73,0x69,0x6f,0x6e,0x56,0x69,0x65,0x77,0x65,0x72]))&&(_0x3ffcad/=0xa),_0x3ffcad;}function _0x53664f(){const _0x236d24=_0x60669b;function _0x5402c5(){_0x381e65(_0x236d24,_0x48e9e7([0x52,0x65,0x76,0x69,0x73,0x69,0x6f,0x6e,0x54,0x72,0x61,0x63,0x6b,0x65,0x72]))&&(_0x303f13(_0x236d24,_0x48e9e7([0x52,0x65,0x76,0x69,0x73,0x69,0x6f,0x6e,0x54,0x72,0x61,0x63,0x6b,0x65,0x72]))[_0x48e9e7([0x75,0x6e,0x62,0x69,0x6e,0x64])](_0x48e9e7([0x69,0x73,0x45,0x6e,0x61,0x62,0x6c,0x65,0x64])),_0x303f13(_0x236d24,_0x48e9e7([0x52,0x65,0x76,0x69,0x73,0x69,0x6f,0x6e,0x54,0x72,0x61,0x63,0x6b,0x65,0x72]))[_0x48e9e7([0x69,0x73,0x45,0x6e,0x61,0x62,0x6c,0x65,0x64])]=!0x1,_0x303f13(_0x236d24,_0x48e9e7([0x52,0x65,0x76,0x69,0x73,0x69,0x6f,0x6e,0x54,0x72,0x61,0x63,0x6b,0x65,0x72]))[_0x48e9e7([0x75,0x70,0x64,0x61,0x74,0x65])]=_0x360b83,_0x303f13(_0x236d24,_0x48e9e7([0x52,0x65,0x76,0x69,0x73,0x69,0x6f,0x6e,0x54,0x72,0x61,0x63,0x6b,0x65,0x72]))[_0x48e9e7([0x73,0x61,0x76,0x65,0x52,0x65,0x76,0x69,0x73,0x69,0x6f,0x6e])]=_0x360b83,_0x236d24[_0x48e9e7([0x6d,0x6f,0x64,0x65,0x6c])][_0x48e9e7([0x63,0x68,0x61,0x6e,0x67,0x65])]=_0x360b83,_0x236d24[_0x48e9e7([0x6d,0x6f,0x64,0x65,0x6c])][_0x48e9e7([0x65,0x6e,0x71,0x75,0x65,0x75,0x65,0x43,0x68,0x61,0x6e,0x67,0x65])]=_0x360b83,_0x236d24[_0x48e9e7([0x65,0x6e,0x61,0x62,0x6c,0x65,0x52,0x65,0x61,0x64,0x4f,0x6e,0x6c,0x79,0x4d,0x6f,0x64,0x65])](_0x48e9e7([0x6d,0x6f,0x64,0x65,0x6c]))),_0x381e65(_0x236d24,_0x48e9e7([0x52,0x65,0x76,0x69,0x73,0x69,0x6f,0x6e,0x56,0x69,0x65,0x77,0x65,0x72]))&&(_0x303f13(_0x236d24,_0x48e9e7([0x52,0x65,0x76,0x69,0x73,0x69,0x6f,0x6e,0x56,0x69,0x65,0x77,0x65,0x72]))[_0x48e9e7([0x75,0x6e,0x62,0x69,0x6e,0x64])](_0x48e9e7([0x69,0x73,0x45,0x6e,0x61,0x62,0x6c,0x65,0x64])),_0x303f13(_0x236d24,_0x48e9e7([0x52,0x65,0x76,0x69,0x73,0x69,0x6f,0x6e,0x56,0x69,0x65,0x77,0x65,0x72]))[_0x48e9e7([0x69,0x73,0x45,0x6e,0x61,0x62,0x6c,0x65,0x64])]=!0x1,_0x303f13(_0x236d24,_0x48e9e7([0x52,0x65,0x76,0x69,0x73,0x69,0x6f,0x6e,0x56,0x69,0x65,0x77,0x65,0x72]))[_0x48e9e7([0x63,0x6f,0x6d,0x70,0x61,0x72,0x65])]=_0x360b83,_0x303f13(_0x236d24,_0x48e9e7([0x52,0x65,0x76,0x69,0x73,0x69,0x6f,0x6e,0x56,0x69,0x65,0x77,0x65,0x72]))[_0x48e9e7([0x5f,0x67,0x65,0x74,0x44,0x69,0x66,0x66])]=_0x360b83);}_0x236d24[_0x48e9e7([0x73,0x74,0x61,0x74,0x65])]==_0x48e9e7([0x72,0x65,0x61,0x64,0x79])?_0x5402c5():_0x236d24[_0x48e9e7([0x6f,0x6e,0x63,0x65])](_0x48e9e7([0x72,0x65,0x61,0x64,0x79]),()=>{if(_0x381e65(_0x236d24,_0x48e9e7([0x52,0x65,0x76,0x69,0x73,0x69,0x6f,0x6e,0x54,0x72,0x61,0x63,0x6b,0x65,0x72]))&&_0x5402c5(),_0x381e65(_0x236d24,_0x48e9e7([0x52,0x65,0x76,0x69,0x73,0x69,0x6f,0x6e,0x56,0x69,0x65,0x77,0x65,0x72]))){const _0x496be6=_0x303f13(_0x236d24,_0x48e9e7([0x52,0x65,0x76,0x69,0x73,0x69,0x6f,0x6e,0x73,0x52,0x65,0x70,0x6f,0x73,0x69,0x74,0x6f,0x72,0x79])),_0x12145a=_0x496be6[_0x4e06('0x46')](0x0),_0x5b1552=_0x496be6[_0x4e06('0x41')](_0x12145a[_0x48e9e7([0x69,0x64])]);_0x303f13(_0x236d24,_0x48e9e7([0x52,0x65,0x76,0x69,0x73,0x69,0x6f,0x6e,0x56,0x69,0x65,0x77,0x65,0x72]))[_0x48e9e7([0x63,0x6f,0x6d,0x70,0x61,0x72,0x65])](_0x12145a[_0x48e9e7([0x69,0x64])],_0x5b1552?_0x5b1552[_0x48e9e7([0x69,0x64])]:null,0x1)['then'](()=>_0x5402c5());}});}_0x58fa14(_0x4320a6(_0x3468a6,_0x2af2ef),_0x2af2ef);}function _0x32b3eb(_0xda256c,_0x48bef7){try{return _0x1781ba(_0x48bef7)?_0x516785(_0x48bef7[_0x48e9e7([0x6c,0x69,0x63,0x65,0x6e,0x73,0x65,0x53,0x74,0x61,0x74,0x75,0x73,0x50,0x72,0x65,0x66,0x69,0x78])]+_0x48e9e7([0x56,0x61,0x6c,0x69,0x64])):_0xda256c&&_0x29b2c9(_0xda256c[_0x48e9e7([0x61,0x6c,0x6c,0x6f,0x77,0x65,0x64,0x50,0x6c,0x75,0x67,0x69,0x6e,0x73])],_0x48bef7)?_0xda256c[_0x48e9e7([0x69,0x73,0x49,0x6e,0x74,0x65,0x72,0x6e,0x61,0x6c])]&&!window[_0x48e9e7([0x6f,0x70,0x65,0x6e])][_0x48e9e7([0x63,0x6c,0x6f,0x73,0x65,0x64])]||parseInt(_0x273d71)/0x2>_0xda256c[_0x48e9e7([0x65,0x78,0x70,0x69,0x72,0x61,0x74,0x69,0x6f,0x6e,0x44,0x61,0x74,0x65])]?_0x516785(_0x48bef7[_0x48e9e7([0x6c,0x69,0x63,0x65,0x6e,0x73,0x65,0x53,0x74,0x61,0x74,0x75,0x73,0x50,0x72,0x65,0x66,0x69,0x78])]+_0x48e9e7([0x49,0x6e,0x76,0x61,0x6c,0x69,0x64])):_0xda256c[_0x48e9e7([0x69,0x73,0x54,0x72,0x69,0x61,0x6c])]?_0x516785(_0x48bef7[_0x48e9e7([0x6c,0x69,0x63,0x65,0x6e,0x73,0x65,0x53,0x74,0x61,0x74,0x75,0x73,0x50,0x72,0x65,0x66,0x69,0x78])]+_0x48e9e7([0x54,0x72,0x69,0x61,0x6c])):_0x516785(_0x48bef7[_0x48e9e7([0x6c,0x69,0x63,0x65,0x6e,0x73,0x65,0x53,0x74,0x61,0x74,0x75,0x73,0x50,0x72,0x65,0x66,0x69,0x78])]+_0x48e9e7([0x56,0x61,0x6c,0x69,0x64])):_0x516785(_0x48bef7[_0x48e9e7([0x6c,0x69,0x63,0x65,0x6e,0x73,0x65,0x53,0x74,0x61,0x74,0x75,0x73,0x50,0x72,0x65,0x66,0x69,0x78])]+_0x48e9e7([0x49,0x6e,0x76,0x61,0x6c,0x69,0x64]));}catch(_0x4dff9b){return _0x516785(_0x48bef7[_0x48e9e7([0x6c,0x69,0x63,0x65,0x6e,0x73,0x65,0x53,0x74,0x61,0x74,0x75,0x73,0x50,0x72,0x65,0x66,0x69,0x78])]+_0x48e9e7([0x49,0x6e,0x76,0x61,0x6c,0x69,0x64]));}}function _0x534ccf(_0xe00627,_0x2d6eed){if(_0x60669b instanceof _0x42dd88){const _0x323e9c=_0x60669b;_0xe00627==_0x2d6eed[_0x48e9e7([0x6c,0x69,0x63,0x65,0x6e,0x73,0x65,0x53,0x74,0x61,0x74,0x75,0x73,0x50,0x72,0x65,0x66,0x69,0x78])]+_0x48e9e7([0x49,0x6e,0x76,0x61,0x6c,0x69,0x64])?_0x513c87(_0x323e9c):_0xe00627==_0x2d6eed[_0x48e9e7([0x6c,0x69,0x63,0x65,0x6e,0x73,0x65,0x53,0x74,0x61,0x74,0x75,0x73,0x50,0x72,0x65,0x66,0x69,0x78])]+_0x48e9e7([0x54,0x72,0x69,0x61,0x6c])&&window[_0x48e9e7([0x73,0x65,0x74,0x54,0x69,0x6d,0x65,0x6f,0x75,0x74])](()=>{_0x513c87(_0x323e9c),_0x516785(_0x2d6eed[_0x48e9e7([0x6c,0x69,0x63,0x65,0x6e,0x73,0x65,0x53,0x74,0x61,0x74,0x75,0x73,0x50,0x72,0x65,0x66,0x69,0x78])]+_0x48e9e7([0x54,0x72,0x69,0x61,0x6c,0x4c,0x69,0x6d,0x69,0x74,0x3a,0x74,0x69,0x6d,0x65]));},_0x916f24[0x6]*_0x472cce[0x8]*_0x472cce[0x6]),_0x323e9c[_0x48e9e7([0x65,0x64,0x69,0x74,0x6f,0x72,0x73])][_0x48e9e7([0x6f,0x6e])](_0x48e9e7([0x61,0x64,0x64]),(_0x155824,_0x466f1a)=>{_0xe00627!=_0x2d6eed[_0x48e9e7([0x6c,0x69,0x63,0x65,0x6e,0x73,0x65,0x53,0x74,0x61,0x74,0x75,0x73,0x50,0x72,0x65,0x66,0x69,0x78])]+_0x48e9e7([0x49,0x6e,0x76,0x61,0x6c,0x69,0x64])&&_0xe00627!=_0x2d6eed[_0x48e9e7([0x6c,0x69,0x63,0x65,0x6e,0x73,0x65,0x53,0x74,0x61,0x74,0x75,0x73,0x50,0x72,0x65,0x66,0x69,0x78])]+_0x48e9e7([0x54,0x72,0x69,0x61,0x6c,0x4c,0x69,0x6d,0x69,0x74,0x3a,0x74,0x69,0x6d,0x65])&&_0xe00627!=_0x2d6eed[_0x48e9e7([0x6c,0x69,0x63,0x65,0x6e,0x73,0x65,0x53,0x74,0x61,0x74,0x75,0x73,0x50,0x72,0x65,0x66,0x69,0x78])]+_0x48e9e7([0x54,0x72,0x69,0x61,0x6c,0x4c,0x69,0x6d,0x69,0x74,0x3a,0x6f,0x70,0x65,0x72,0x61,0x74,0x69,0x6f,0x6e,0x73])||_0x27801f(_0x466f1a);});}else{const _0x1e616c=_0x60669b;_0xe00627==_0x2d6eed[_0x48e9e7([0x6c,0x69,0x63,0x65,0x6e,0x73,0x65,0x53,0x74,0x61,0x74,0x75,0x73,0x50,0x72,0x65,0x66,0x69,0x78])]+_0x48e9e7([0x49,0x6e,0x76,0x61,0x6c,0x69,0x64])?_0x27801f(_0x1e616c):_0xe00627==_0x2d6eed[_0x48e9e7([0x6c,0x69,0x63,0x65,0x6e,0x73,0x65,0x53,0x74,0x61,0x74,0x75,0x73,0x50,0x72,0x65,0x66,0x69,0x78])]+_0x48e9e7([0x54,0x72,0x69,0x61,0x6c])&&_0x1e616c[_0x48e9e7([0x6f,0x6e])](_0x48e9e7([0x72,0x65,0x61,0x64,0x79]),()=>{let _0x3205a9=0x0;_0x1e616c[_0x48e9e7([0x6d,0x6f,0x64,0x65,0x6c])][_0x48e9e7([0x6f,0x6e])](_0x48e9e7([0x61,0x70,0x70,0x6c,0x79,0x4f,0x70,0x65,0x72,0x61,0x74,0x69,0x6f,0x6e]),(_0x20e6ff,_0x466506)=>{_0x466506[0x0][_0x48e9e7([0x69,0x73,0x44,0x6f,0x63,0x75,0x6d,0x65,0x6e,0x74,0x4f,0x70,0x65,0x72,0x61,0x74,0x69,0x6f,0x6e])]&&_0x3205a9++,0x1f8===_0x3205a9&&(_0x27801f(_0x1e616c),_0x516785(_0x2d6eed[_0x48e9e7([0x6c,0x69,0x63,0x65,0x6e,0x73,0x65,0x53,0x74,0x61,0x74,0x75,0x73,0x50,0x72,0x65,0x66,0x69,0x78])]+_0x48e9e7([0x54,0x72,0x69,0x61,0x6c,0x4c,0x69,0x6d,0x69,0x74,0x3a,0x6f,0x70,0x65,0x72,0x61,0x74,0x69,0x6f,0x6e,0x73])),_0x20e6ff[_0x48e9e7([0x6f,0x66,0x66])]());},{'priority':_0x48e9e7([0x68,0x69,0x67,0x68,0x65,0x73,0x74])});});}}function _0x516785(_0x4d3fc5){const _0x13ff0e=_0x108f1e();return _0x60669b[_0x13ff0e]=_0x4d3fc5,_0x4d3fc5;}function _0x108f1e(){const _0x1cfe8a=String(window[_0x48e9e7([0x70,0x65,0x72,0x66,0x6f,0x72,0x6d,0x61,0x6e,0x63,0x65])][_0x48e9e7([0x6e,0x6f,0x77])]())[_0x48e9e7([0x72,0x65,0x70,0x6c,0x61,0x63,0x65])](_0x48e9e7([0x2e]),'');let _0x174e7f='';for(let _0x1b811b=0x0;_0x1b811b<_0x1cfe8a[_0x48e9e7([0x6c,0x65,0x6e,0x67,0x74,0x68])];_0x1b811b+=0x2){let _0x7da7d2=parseInt(_0x1cfe8a[_0x48e9e7([0x73,0x75,0x62,0x73,0x74,0x72,0x69,0x6e,0x67])](_0x1b811b,_0x1b811b+0x2));_0x7da7d2>=_0x20d51e[_0x48e9e7([0x6c,0x65,0x6e,0x67,0x74,0x68])]&&(_0x7da7d2-=_0x20d51e[_0x48e9e7([0x6c,0x65,0x6e,0x67,0x74,0x68])]),_0x174e7f+=_0x20d51e[_0x7da7d2];}return _0x174e7f;}function _0x513c87(_0x4bbd76){for(const _0x4700cf of _0x4bbd76[_0x48e9e7([0x65,0x64,0x69,0x74,0x6f,0x72,0x73])])_0x27801f(_0x4700cf);_0x303f13(_0x4bbd76,_0x48e9e7([0x43,0x6f,0x6d,0x6d,0x65,0x6e,0x74,0x73,0x52,0x65,0x70,0x6f,0x73,0x69,0x74,0x6f,0x72,0x79]))[_0x48e9e7([0x73,0x77,0x69,0x74,0x63,0x68,0x52,0x65,0x61,0x64,0x4f,0x6e,0x6c,0x79])](!0x0),_0x303f13(_0x4bbd76,_0x48e9e7([0x43,0x6f,0x6d,0x6d,0x65,0x6e,0x74,0x73,0x52,0x65,0x70,0x6f,0x73,0x69,0x74,0x6f,0x72,0x79]))[_0x48e9e7([0x73,0x77,0x69,0x74,0x63,0x68,0x52,0x65,0x61,0x64,0x4f,0x6e,0x6c,0x79])]=_0x360b83;}function _0x27801f(_0x385860){function _0x5e96eb(){_0x385860[_0x48e9e7([0x6d,0x6f,0x64,0x65,0x6c])][_0x48e9e7([0x63,0x68,0x61,0x6e,0x67,0x65])]=_0x360b83,_0x385860[_0x48e9e7([0x6d,0x6f,0x64,0x65,0x6c])][_0x48e9e7([0x65,0x6e,0x71,0x75,0x65,0x75,0x65,0x43,0x68,0x61,0x6e,0x67,0x65])]=_0x360b83,_0x385860[_0x48e9e7([0x65,0x6e,0x61,0x62,0x6c,0x65,0x52,0x65,0x61,0x64,0x4f,0x6e,0x6c,0x79,0x4d,0x6f,0x64,0x65])](_0x48e9e7([0x6d,0x6f,0x64,0x65,0x6c]));}_0x385860[_0x48e9e7([0x73,0x74,0x61,0x74,0x65])]==_0x48e9e7([0x72,0x65,0x61,0x64,0x79])?_0x5e96eb():_0x385860[_0x48e9e7([0x6f,0x6e,0x63,0x65])](_0x48e9e7([0x72,0x65,0x61,0x64,0x79]),()=>_0x5e96eb());}function _0x360b83(){return null;}function _0x29b2c9(_0x583228,_0x5babd1){return!!(_0x583228&_0x5babd1[_0x48e9e7([0x70,0x65,0x72,0x6d,0x69,0x73,0x73,0x69,0x6f,0x6e,0x4d,0x61,0x73,0x6b])]);}function _0x1781ba(_0x154b75){if(!_0x381e65(_0x60669b,_0x154b75[_0x48e9e7([0x70,0x6c,0x75,0x67,0x69,0x6e,0x4e,0x61,0x6d,0x65])]))return!0x0;const _0x2fede9=_0x154b75[_0x48e9e7([0x6f,0x70,0x74,0x69,0x6f,0x6e,0x73])]||{},_0xba51b6=_0x2fede9[_0x48e9e7([0x61,0x69,0x77,0x73,0x67,0x69,0x63])]||!0x1,_0x1405a5=_0x2fede9[_0x48e9e7([0x61,0x69,0x74,0x63,0x64,0x67,0x69,0x6c])]||!0x1,_0x1bb471=_0x2fede9[_0x48e9e7([0x61,0x69,0x72,0x76,0x69,0x69,0x6c])]||!0x1;if(_0x381e65(_0x60669b,_0x48e9e7([0x57,0x65,0x62,0x53,0x6f,0x63,0x6b,0x65,0x74,0x47,0x61,0x74,0x65,0x77,0x61,0x79]))&&_0x303f13(_0x60669b,_0x48e9e7([0x57,0x65,0x62,0x53,0x6f,0x63,0x6b,0x65,0x74,0x47,0x61,0x74,0x65,0x77,0x61,0x79]))[_0x48e9e7([0x73,0x74,0x61,0x74,0x65])]==_0x48e9e7([0x63,0x6f,0x6e,0x6e,0x65,0x63,0x74,0x65,0x64])&&_0xba51b6)return!0x0;if(_0x381e65(_0x60669b,_0x48e9e7([0x54,0x72,0x61,0x63,0x6b,0x43,0x68,0x61,0x6e,0x67,0x65,0x73,0x44,0x61,0x74,0x61,0x47,0x65,0x74,0x74,0x65,0x72]))&&_0x303f13(_0x60669b,_0x48e9e7([0x54,0x72,0x61,0x63,0x6b,0x43,0x68,0x61,0x6e,0x67,0x65,0x73,0x44,0x61,0x74,0x61,0x47,0x65,0x74,0x74,0x65,0x72]))[_0x48e9e7([0x72,0x65,0x73,0x75,0x6c,0x74])]==_0x48e9e7([0x65,0x6e,0x64])&&_0x1405a5)return!0x0;return!(!_0x381e65(_0x60669b,_0x48e9e7([0x52,0x65,0x76,0x69,0x73,0x69,0x6f,0x6e,0x56,0x69,0x65,0x77,0x65,0x72,0x49,0x6e,0x74,0x65,0x67,0x72,0x61,0x74,0x69,0x6f,0x6e]))||_0x303f13(_0x60669b,_0x48e9e7([0x52,0x65,0x76,0x69,0x73,0x69,0x6f,0x6e,0x56,0x69,0x65,0x77,0x65,0x72,0x49,0x6e,0x74,0x65,0x67,0x72,0x61,0x74,0x69,0x6f,0x6e]))[_0x48e9e7([0x72,0x65,0x73,0x75,0x6c,0x74])]!=_0x48e9e7([0x65,0x6e,0x64])||!_0x1bb471);}function _0x381e65(_0x5ee2a6,_0x212e84){return _0x5ee2a6[_0x48e9e7([0x70,0x6c,0x75,0x67,0x69,0x6e,0x73])][_0x48e9e7([0x68,0x61,0x73])](_0x212e84);}function _0x303f13(_0x4ebc14,_0x13e9e6){return _0x4ebc14[_0x48e9e7([0x70,0x6c,0x75,0x67,0x69,0x6e,0x73])][_0x48e9e7([0x67,0x65,0x74])](_0x13e9e6);}function _0x274035(_0x50be28){let _0x3ae949='';for(const _0x16138f of _0x50be28)_0x3ae949+=String[_0x48e9e7([0x66,0x72,0x6f,0x6d,0x43,0x68,0x61,0x72,0x43,0x6f,0x64,0x65])](_0x16138f);return _0x3ae949;}function _0xd8b691(_0x5b3e4a){const _0x3b89a4=new Uint8Array(_0x5b3e4a[_0x48e9e7([0x6c,0x65,0x6e,0x67,0x74,0x68])]);for(let _0x27551f=0x0;_0x27551f<_0x5b3e4a[_0x48e9e7([0x6c,0x65,0x6e,0x67,0x74,0x68])];_0x27551f++)_0x3b89a4[_0x27551f]=_0x5b3e4a[_0x48e9e7([0x63,0x68,0x61,0x72,0x43,0x6f,0x64,0x65,0x41,0x74])](_0x27551f);return _0x3b89a4;}_0x279f1a&&_0x3a9dfd(_0x2bb343(_0xe0c9e9),_0x279f1a);})(_0x31cfce);}(this);}[_0x4e06('0x2a')](_0x3e3076='',_0x2611d3='',_0x36c313=this[_0x4e06('0x5')][_0x4e06('0x44')][_0x4e06('0x50')][_0x4e06('0x0')]){const _0x3b6594=this[_0x4e06('0x5')],_0x1f668f=_0x3b6594['editing'][_0x4e06('0x23')],_0x22ce3e=_0x3b6594['plugins']['get'](_0x3f1358);if(this[_0x4e06('0x56')])return;_0x22ce3e['showFakeVisualSelection']();const _0x13a18a=new v(),_0x8f43af=new ClipboardEvent(_0x4e06('0x52'),{'clipboardData':_0x13a18a}),_0x7989bf=new _0x19b25c(_0x13a18a),_0x5aaa26=new _0x352f2c(_0x1f668f,_0x8f43af,{'dataTransfer':_0x7989bf});_0x1f668f[_0x4e06('0x50')][_0x4e06('0x2')](_0x4e06('0x52'),_0x5aaa26);const _0x403894=_0x7989bf[_0x4e06('0x13')](_0x4e06('0x4f'));this['_formView']=new _0x4ce595(this['editor'][_0x4e06('0x15')],_0x2611d3,this[_0x4e06('0x57')],_0x3b6594[_0x4e06('0x5b')][_0x4e06('0x11')](_0x4e06('0x3'))),this[_0x4e06('0x5d')]=new _0xf032a3(this['_aiConnector'],this[_0x4e06('0x56')],_0x403894,_0x3e3076),this['_enableAIBalloonInteractions'](),this[_0x4e06('0x49')][_0x4e06('0x30')]({'view':this[_0x4e06('0x56')],'position':{'target':()=>{const _0x26ce27=Array['from'](_0x3b6594[_0x4e06('0x44')][_0x4e06('0x50')][_0x4e06('0x0')][_0x4e06('0x24')]())[_0x4e06('0x10')](_0x35947f=>!_0x35947f[_0x4e06('0x7')]&&_0x35947f['end'][_0x4e06('0x5a')]?_0x3b6594['model'][_0x4e06('0x45')](_0x35947f[_0x4e06('0x19')],_0x3b6594[_0x4e06('0x44')]['createPositionBefore'](_0x35947f[_0x4e06('0x3a')][_0x4e06('0x53')])):_0x35947f)[_0x4e06('0x10')](_0x2dc273=>_0x3b6594['editing'][_0x4e06('0x14')][_0x4e06('0x43')](_0x2dc273))[_0x4e06('0x10')](_0x3057ed=>_0x3b6594[_0x4e06('0x31')]['view'][_0x4e06('0x2b')][_0x4e06('0x3b')](_0x3057ed))[_0x4e06('0x10')](_0x36544b=>new _0x2bd0f2(_0x36544b));return _0x2bd0f2[_0x4e06('0x17')](_0x26ce27);}}}),this['_formView'][_0x4e06('0x1f')](),this[_0x4e06('0x3c')](this['_formView'],_0x4e06('0xd'),(_0x56e642,_0xcfee98)=>{this[_0x4e06('0x4c')](),_0x22ce3e[_0x4e06('0x40')](_0xcfee98);}),this[_0x4e06('0x3c')](this[_0x4e06('0x56')],_0x4e06('0x51'),(_0x56a6fe,_0x214cef)=>{this[_0x4e06('0x4c')](),_0x22ce3e[_0x4e06('0x51')](_0x214cef);}),this[_0x4e06('0x1b')]=!0x0;}['hideUI'](){const _0x1fc0c0=this[_0x4e06('0x5')][_0x4e06('0x26')][_0x4e06('0x11')](_0x3f1358);this[_0x4e06('0x56')]&&(this[_0x4e06('0x49')][_0x4e06('0x38')](this[_0x4e06('0x56')]),_0x1fc0c0[_0x4e06('0x55')](),this['_formView']=null,this['editor'][_0x4e06('0x31')]['view']['focus']()),this['_isUIVisible']=!0x1;}[_0x4e06('0x4b')](){_0x5b3411({'emitter':this[_0x4e06('0x56')],'activator':()=>!!this['_formView'],'contextElements':()=>[this[_0x4e06('0x49')][_0x4e06('0x23')][_0x4e06('0x35')]],'callback':()=>this[_0x4e06('0x4c')]()});}}function S(_0x4048da,_0x1f6ee4){const _0x970c95=new _0x3bc1f6(_0x4048da[_0x4e06('0x15')]),_0x5949d8=function(_0x4810dc){const _0x3f8317={};return _0x4810dc[_0x4e06('0x2d')](_0x3b10d5=>{const _0x33b362=_0x3b10d5[_0x4e06('0x1c')]||_0x3b10d5[_0x4e06('0x2f')],_0x44fa6c=_0x3b10d5['commands'];_0x3f8317[_0x33b362]=_0x44fa6c;}),_0x3f8317;}(_0x4048da[_0x4e06('0x5b')][_0x4e06('0x11')](_0x4e06('0x28'))||[]);return Object[_0x4e06('0x33')](_0x5949d8)['forEach'](([_0x521e77,_0x1900c2])=>{const _0x49f9f3=_0x1900c2[_0x4e06('0x10')](_0x1eeff2=>function(_0x447525,_0x465f98,_0x1bf3fe){const _0x362bcf=new _0x5203c3(),_0x285ada=new _0x274cd0(),_0x3ae137=new _0x824f93(_0x447525,_0x285ada);return _0x362bcf[_0x4e06('0x9')][_0x4e06('0x30')](_0x3ae137),_0x3ae137[_0x4e06('0x22')]({'label':_0x1bf3fe[_0x4e06('0xe')],'withText':!0x0}),_0x3ae137['on'](_0x4e06('0x48'),()=>{_0x465f98(_0x1bf3fe[_0x4e06('0x6')],_0x1bf3fe[_0x4e06('0xe')]);}),_0x362bcf;}(_0x4048da[_0x4e06('0x15')],_0x1f6ee4,_0x1eeff2));_0x970c95['items']['add'](function(_0x3b83d9,_0x56a3fa){const _0x11349b=new _0x22a35d();return _0x11349b[_0x4e06('0xe')]=_0x3b83d9,_0x11349b[_0x4e06('0x47')][_0x4e06('0xc')](_0x56a3fa),_0x11349b;}(_0x521e77,_0x49f9f3));}),_0x970c95;}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
+ */
5
+ import { Plugin, type Editor } from 'ckeditor5/src/core';
6
+ /**
7
+ * The AI handler plugin that is responsible for the whole communication with AI.
8
+ * It uses the Adapter for OpenAI by default.
9
+ */
10
+ export default class AIConnector extends Plugin {
11
+ /**
12
+ * The adapter instance which is used to handle the communication with AI API.
13
+ */
14
+ adapter: Adapter;
15
+ /**
16
+ * @inheritDoc
17
+ */
18
+ static get pluginName(): "AIConnector";
19
+ /**
20
+ * @inheritDoc
21
+ */
22
+ constructor(editor: Editor);
23
+ /**
24
+ * Processes a user prompt and sends it to the AI API.
25
+ *
26
+ * @param prompt The user's prompt to be processed.
27
+ * @param context The context on which the prompt is used.
28
+ * @param onDataCallback The callback that is called after receiving content from AI API.
29
+ * @returns A Promise that resolves with the AI-generated response.
30
+ * @throws If sending the prompt to the AI API fails.
31
+ */
32
+ processPrompt(prompt: string, context: string, onDataCallback: (content: string) => any): Promise<void>;
33
+ /**
34
+ * The method that stops the current request and then recreates the abort controller instance.
35
+ */
36
+ abort(): void;
37
+ }
38
+ interface Adapter {
39
+ sendPrompt(systemMessage: string, userMessage: string, abortSignal: AbortSignal, onDataCallback: (content: string) => any): Promise<void>;
40
+ }
41
+ export declare class AIRequestError extends Error {
42
+ constructor(message: string);
43
+ }
44
+ export {};
@@ -0,0 +1,23 @@
1
+ /*
2
+ * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
3
+ *
4
+ *
5
+ *
6
+ *
7
+ * +---------------------------------------------------------------------------------+
8
+ * | |
9
+ * | Hello stranger! |
10
+ * | |
11
+ * | |
12
+ * | What you're currently looking at is the source code of a legally protected, |
13
+ * | proprietary software. Any attempts to deobfuscate / disassemble this code |
14
+ * | are forbidden and will result in legal consequences. |
15
+ * | |
16
+ * | |
17
+ * +---------------------------------------------------------------------------------+
18
+ *
19
+ *
20
+ *
21
+ *
22
+ */
23
+ const _0x103a=['_cleanUpData','data:\x20','Instruction:\x0a','data','aiAssistant.requestParameters.model','Authorization','choices','user','match','aiconnector-send-prompt-failed','processor','aiAssistant.requestParameters.top_p','string','get','error','aiAssistant.requestParameters.max_tokens','authKey','_processStream','_domParser','content','body','reject','Bearer\x20','aiAssistant.requestParameters.temperature','aiAssistant.apiUrl','document','define','abort','adapter','toModel','startsWith','AI_ERROR_CONTEXT_LENGTH','text/html','filter','stringify','editing','top_p','join','processPrompt','_parseAndNormalizeContent','push','aborted','model','\x0aYou\x20must\x20keep\x20the\x20text\x20formatting.\x0a\x0aContent:\x0a','AIRequestError','https://api.openai.com/v1/chat/completions','Your\x20task\x20is\x20to\x20execute\x20the\x20instruction\x20using\x20the\x20provided\x20HTML\x20content.\x20Follow\x20the\x20instruction\x20closely.\x20Your\x20answer\x20must\x20be\x20a\x20properly\x20formatted\x20HTML\x20code.\x20Do\x20not\x20add\x20any\x20additional\x20remarks\x20or\x20notes.\x20Do\x20not\x20act\x20like\x20a\x20chatbot\x20or\x20a\x20real\x20person.','resolve','_authKey','serializeToString','_isBufferIncomplete','gpt-3.5-turbo','catch','<span>','AI_ERROR_MODERATION','toView','_apiUrl','length','includes','name','config','replace','_abortController','_requestParameters','parseFromString','_prepareMessages','[DONE]','_xmlSerializer','_normalizeResponseHeadings','signal','editor','aiAssistant.requestParameters','max_tokens','context_length_exceeded','split','getReader','AbortError','view','temperature','sendPrompt'];(function(_0x1ef6f4,_0x103aeb){const _0x214239=function(_0x50986a){while(--_0x50986a){_0x1ef6f4['push'](_0x1ef6f4['shift']());}};_0x214239(++_0x103aeb);}(_0x103a,0xe6));const _0x2142=function(_0x1ef6f4,_0x103aeb){_0x1ef6f4=_0x1ef6f4-0x0;let _0x214239=_0x103a[_0x1ef6f4];return _0x214239;};import{Matcher as _0x19670b,UpcastWriter as _0x5ea036}from'ckeditor5/src/engine';import{Plugin as _0x5dd575}from'ckeditor5/src/core';import{CKEditorError as _0x300097}from'ckeditor5/src/utils';import{getTranslation as _0x1e8118}from'./utils/common-translations';export default class o extends _0x5dd575{static get['pluginName'](){return'AIConnector';}constructor(_0x225eff){super(_0x225eff),_0x225eff[_0x2142('0x46')][_0x2142('0x24')](_0x2142('0x22'),_0x2142('0x37')),_0x225eff[_0x2142('0x46')][_0x2142('0x24')](_0x2142('0xe'),_0x2142('0x3d')),_0x225eff['config'][_0x2142('0x24')](_0x2142('0x19'),0x7d0),_0x225eff[_0x2142('0x46')][_0x2142('0x24')](_0x2142('0x21'),0x1),_0x225eff[_0x2142('0x46')]['define'](_0x2142('0x15'),0x1);const _0x46d1e2=_0x225eff[_0x2142('0x46')][_0x2142('0x17')](_0x2142('0x22')),_0x3b0781=_0x225eff['config'][_0x2142('0x17')]('aiAssistant')[_0x2142('0x1a')],_0x34da0=_0x225eff[_0x2142('0x46')][_0x2142('0x17')](_0x2142('0x1'));this[_0x2142('0x48')]=new AbortController(),this[_0x2142('0x26')]=new OpenAIAdapter(_0x225eff,_0x46d1e2,_0x34da0,_0x3b0781);}async[_0x2142('0x30')](_0x1388d7,_0x2deebb,_0x277f0f){const {systemMessage:_0xe954e4,userMessage:_0x197ede}=this[_0x2142('0x4b')](_0x1388d7,_0x2deebb);return this['adapter'][_0x2142('0x9')](_0xe954e4,_0x197ede,this[_0x2142('0x48')][_0x2142('0x4f')],_0x277f0f)[_0x2142('0x3e')](_0x4c14b1=>{if(_0x4c14b1 instanceof AIRequestError)return Promise[_0x2142('0x1f')](_0x4c14b1);if(_0x2142('0x6')==_0x4c14b1['name'])return Promise[_0x2142('0x39')]();throw console[_0x2142('0x18')](_0x4c14b1),new _0x300097(_0x2142('0x13'),null);});}[_0x2142('0x25')](){this[_0x2142('0x48')][_0x2142('0x4f')][_0x2142('0x33')]||(this[_0x2142('0x48')]['abort'](),this[_0x2142('0x48')]=new AbortController());}[_0x2142('0x4b')](_0x3d9883,_0x2c445c){let _0x23ceb6,_0x49f0ae;return _0x2c445c?(_0x23ceb6=_0x2142('0x38'),_0x49f0ae=_0x2142('0xc')+_0x3d9883+_0x2142('0x35')+(_0x2c445c[_0x2142('0x28')]('<')?_0x2c445c:_0x2142('0x3f')+_0x2c445c+'</span>')):(_0x23ceb6='Your\x20task\x20is\x20to\x20generate\x20HTML\x20content\x20accordingly\x20to\x20the\x20given\x20instruction.\x20Never\x20include\x20<img>\x20tag\x20in\x20your\x20response\x20even\x20if\x20asked\x20for.\x20Your\x20answer\x20must\x20be\x20a\x20well-structured\x20and\x20properly\x20formatted\x20HTML\x20code.\x20Answer\x20only\x20with\x20the\x20generated\x20HTML\x20content.\x20Do\x20not\x20add\x20any\x20additional\x20remarks\x20or\x20notes.\x20Do\x20not\x20act\x20like\x20a\x20chatbot\x20or\x20a\x20real\x20person.',_0x49f0ae=_0x3d9883),{'systemMessage':_0x23ceb6,'userMessage':_0x49f0ae};}}export class OpenAIAdapter{constructor(_0x50e370,_0x518e06,_0x1ac30d,_0x4da0ab){this[_0x2142('0x0')]=_0x50e370,this['_apiUrl']=_0x518e06,this[_0x2142('0x3a')]=_0x4da0ab,this[_0x2142('0x49')]=_0x1ac30d,this[_0x2142('0x1c')]=new DOMParser(),this[_0x2142('0x4d')]=new XMLSerializer();}async[_0x2142('0x9')](_0x52614e,_0x352a8a,_0x10a71e,_0x5c2f2f){const _0x2b2d8a=this[_0x2142('0x0')]['locale'],_0x1ea3dd={'Content-Type':'application/json'};if(_0x2142('0x16')==typeof this[_0x2142('0x3a')])_0x1ea3dd[_0x2142('0xf')]='Bearer\x20'+this[_0x2142('0x3a')];else{if(this[_0x2142('0x3a')])try{const _0x4d127f=await this['_authKey']();_0x1ea3dd['Authorization']=_0x2142('0x20')+_0x4d127f;}catch(_0x29cf4f){return Promise['reject'](new AIRequestError(_0x1e8118(_0x2b2d8a,'AI_ERROR_AUTH_REQUEST')));}}const _0x20a17e={'model':this[_0x2142('0x49')][_0x2142('0x34')],'messages':[{'role':'system','content':_0x52614e},{'role':_0x2142('0x11'),'content':_0x352a8a}],'stream':!0x0,'max_tokens':this[_0x2142('0x49')][_0x2142('0x2')],'temperature':this[_0x2142('0x49')][_0x2142('0x8')],'top_p':this['_requestParameters'][_0x2142('0x2e')]};this[_0x2142('0x49')][_0x2142('0x11')]&&(_0x20a17e['user']=this['_requestParameters'][_0x2142('0x11')]);const _0x5d3232={'method':'POST','headers':_0x1ea3dd,'body':JSON[_0x2142('0x2c')](_0x20a17e),'signal':_0x10a71e},_0x425b87=await fetch(this[_0x2142('0x42')],_0x5d3232);if(_0x425b87['ok']){const _0x4dd59a=_0x425b87[_0x2142('0x1e')];return await this[_0x2142('0x1b')](_0x4dd59a,_0x5c2f2f),Promise[_0x2142('0x39')]();}{const _0x3912e6=await _0x425b87['text']();return _0x3912e6['includes'](_0x2142('0x3'))?Promise[_0x2142('0x1f')](new AIRequestError(_0x1e8118(_0x2b2d8a,_0x2142('0x29')))):_0x3912e6[_0x2142('0x44')]('Moderation')?Promise[_0x2142('0x1f')](new AIRequestError(_0x1e8118(_0x2b2d8a,_0x2142('0x40')))):Promise[_0x2142('0x1f')](new Error(_0x3912e6));}}async[_0x2142('0x1b')](_0x2a9f17,_0x5a7ba4){const _0x73ddc4=_0x2a9f17[_0x2142('0x5')](),_0x1d695b=new TextDecoder();let _0x54fa8f='',_0x167187='',_0x3569ba='',_0x239610=!0x1;for(;!_0x239610;){const {done:_0x1f3520,value:_0xbd38c7}=await _0x73ddc4['read'](),_0xdb8720=_0x54fa8f+_0x1d695b['decode'](_0xbd38c7);let _0x21d4f2='';_0x239610=_0x1f3520;try{_0x21d4f2=this[_0x2142('0xa')](_0xdb8720),_0x54fa8f='';}catch(_0x433d4f){_0x54fa8f+=_0xdb8720;continue;}_0x167187+=_0x21d4f2,!_0x1f3520&&this[_0x2142('0x3c')](_0x167187)||_0x167187&&(_0x3569ba+=_0x167187,_0x5a7ba4(this[_0x2142('0x31')](_0x3569ba)),_0x167187='');}return Promise[_0x2142('0x39')]();}[_0x2142('0x3c')](_0xa0d9e8){const _0x5131c1=_0xa0d9e8[_0x2142('0x4')]('<')[_0x2142('0x43')]!==_0xa0d9e8[_0x2142('0x4')]('>')['length'],_0x43a494=_0xa0d9e8[_0x2142('0x43')]<0x1e;return _0x5131c1&&_0x43a494;}['_parseAndNormalizeContent'](_0x1f6bea){const _0x1abe00=this[_0x2142('0x1c')][_0x2142('0x4a')](_0x1f6bea,_0x2142('0x2a')),_0x5332ad=this[_0x2142('0x0')][_0x2142('0xd')][_0x2142('0x14')][_0x2142('0x41')](this[_0x2142('0x4d')][_0x2142('0x3b')](_0x1abe00['body']));return this[_0x2142('0x4e')](_0x5332ad),this['editor']['data'][_0x2142('0x2c')](this[_0x2142('0x0')][_0x2142('0xd')][_0x2142('0x27')](_0x5332ad));}[_0x2142('0x4e')](_0x271f94){const _0x37bdb3=new _0x5ea036(this[_0x2142('0x0')][_0x2142('0x2d')][_0x2142('0x7')][_0x2142('0x23')]),_0x440035=new _0x19670b({'name':/^h[1-5]$/}),_0x1f1228=[];let _0x349e7f=!0x1;for(const _0x104f4f of _0x271f94)_0x104f4f['is']('element')&&_0x440035[_0x2142('0x12')](_0x104f4f)&&(_0x1f1228[_0x2142('0x32')](_0x104f4f),'h1'==_0x104f4f[_0x2142('0x45')]&&(_0x349e7f=!0x0));if(_0x349e7f)for(const _0x203ad3 of _0x1f1228)_0x37bdb3['rename']('h'+(parseInt(_0x203ad3[_0x2142('0x45')][0x1])+0x1),_0x203ad3);}[_0x2142('0xa')](_0x1ac8d3){return _0x1ac8d3['split']('\x0a')['map'](_0x17ec5b=>_0x17ec5b[_0x2142('0x47')](_0x2142('0xb'),''))['filter'](_0x122c73=>_0x122c73&&_0x122c73[_0x2142('0x43')]>0x0&&_0x2142('0x4c')!==_0x122c73)['map'](_0x389cb3=>JSON['parse'](_0x389cb3)[_0x2142('0x10')][0x0]['delta'][_0x2142('0x1d')])[_0x2142('0x2b')](_0x114a60=>_0x114a60)[_0x2142('0x2f')]('');}}export class AIRequestError extends Error{constructor(_0x1d0aff){super(_0x1d0aff),this[_0x2142('0x45')]=_0x2142('0x36');}}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
+ */
5
+ import type { default as AIAssistant, AIAssistantConfig } from './aiassistant';
6
+ import type ShowAIAssistantCommand from './ui/showaiassistantcommand';
7
+ import type AIAssistantEditing from './aiassistantediting';
8
+ import type AIAssistantUI from './aiassistantui';
9
+ declare module '@ckeditor/ckeditor5-core' {
10
+ interface EditorConfig {
11
+ /**
12
+ * The configuration of the {@link module:ai/aiassistant~AIAssistant AI assistant feature}.
13
+ *
14
+ * Read more in {@link module:ai/aiassistant~AIAssistantConfig}.
15
+ */
16
+ aiAssistant?: AIAssistantConfig;
17
+ }
18
+ interface PluginsMap {
19
+ [AIAssistant.pluginName]: AIAssistant;
20
+ [AIAssistantUI.pluginName]: AIAssistantUI;
21
+ [AIAssistantEditing.pluginName]: AIAssistantEditing;
22
+ }
23
+ interface CommandsMap {
24
+ aiAssistant: ShowAIAssistantCommand;
25
+ }
26
+ }
@@ -0,0 +1,23 @@
1
+ /*
2
+ * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
3
+ *
4
+ *
5
+ *
6
+ *
7
+ * +---------------------------------------------------------------------------------+
8
+ * | |
9
+ * | Hello stranger! |
10
+ * | |
11
+ * | |
12
+ * | What you're currently looking at is the source code of a legally protected, |
13
+ * | proprietary software. Any attempts to deobfuscate / disassemble this code |
14
+ * | are forbidden and will result in legal consequences. |
15
+ * | |
16
+ * | |
17
+ * +---------------------------------------------------------------------------------+
18
+ *
19
+ *
20
+ *
21
+ *
22
+ */
23
+ export{};
package/src/index.d.ts ADDED
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
+ */
5
+ /**
6
+ * @module ai
7
+ */
8
+ export { default as AIAssistant } from './aiassistant';
9
+ import './augmentation';
package/src/index.js ADDED
@@ -0,0 +1,23 @@
1
+ /*
2
+ * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
3
+ *
4
+ *
5
+ *
6
+ *
7
+ * +---------------------------------------------------------------------------------+
8
+ * | |
9
+ * | Hello stranger! |
10
+ * | |
11
+ * | |
12
+ * | What you're currently looking at is the source code of a legally protected, |
13
+ * | proprietary software. Any attempts to deobfuscate / disassemble this code |
14
+ * | are forbidden and will result in legal consequences. |
15
+ * | |
16
+ * | |
17
+ * +---------------------------------------------------------------------------------+
18
+ *
19
+ *
20
+ *
21
+ *
22
+ */
23
+ export{default as AIAssistant}from'./aiassistant';import'./augmentation';
@@ -0,0 +1,59 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
+ */
5
+ import { type default as AIConnector } from '../aiconnector';
6
+ import type { default as AIFormView } from './form/aiformview';
7
+ declare const AIAssistantController_base: {
8
+ new (): import("ckeditor5/src/utils").Observable;
9
+ prototype: import("ckeditor5/src/utils").Observable;
10
+ };
11
+ /**
12
+ * Controller for the AI assistant.
13
+ *
14
+ * It takes a AI balloon view, listens to events fired by that view and based on them performs actions on an AI handler.
15
+ * This controller is also responsible for streaming the AI response for the UI.
16
+ */
17
+ export default class AIAssistantController extends AIAssistantController_base {
18
+ /**
19
+ * An instance of the {@link module:ai/aiconnector~AIConnector}.
20
+ */
21
+ readonly connector: AIConnector;
22
+ /**
23
+ * An instance of the {@link module:ai/ui/aiformview~AIFormView}.
24
+ */
25
+ readonly view: AIFormView;
26
+ /**
27
+ * The previous value of the user prompt. It is kept to handle the try again event.
28
+ *
29
+ * @observable
30
+ */
31
+ previousPrompt?: string;
32
+ /**
33
+ * The previous value of the context for the AI request. It is kept to handle the try again event.
34
+ *
35
+ * Initially it is the selected HTML content from the editor. Subsequently,
36
+ * the context is replaced by each response from AI.
37
+ *
38
+ * @observable
39
+ */
40
+ previousContext?: string;
41
+ /**
42
+ * Flag that indicates if the processing is in progress.
43
+ *
44
+ * @observable
45
+ */
46
+ isProcessing: boolean;
47
+ /**
48
+ * @param connector AI connector instance.
49
+ * @param view AI form view.
50
+ * @param htmlContent The selected HTML content on which the AI should base.
51
+ * @param prompt The initial prompt that causes the processing to start.
52
+ */
53
+ constructor(connector: AIConnector, view: AIFormView, htmlContent: string, prompt?: string);
54
+ /**
55
+ * Destroys `AIAssistantController` instance.
56
+ */
57
+ destroy(): void;
58
+ }
59
+ export {};
@@ -0,0 +1,23 @@
1
+ /*
2
+ * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
3
+ *
4
+ *
5
+ *
6
+ *
7
+ * +---------------------------------------------------------------------------------+
8
+ * | |
9
+ * | Hello stranger! |
10
+ * | |
11
+ * | |
12
+ * | What you're currently looking at is the source code of a legally protected, |
13
+ * | proprietary software. Any attempts to deobfuscate / disassemble this code |
14
+ * | are forbidden and will result in legal consequences. |
15
+ * | |
16
+ * | |
17
+ * +---------------------------------------------------------------------------------+
18
+ *
19
+ *
20
+ *
21
+ *
22
+ */
23
+ const _0x2ef6=['connector','isProcessing','previousPrompt','stopProcessing','view','previousContext','_handlePrompt','startProcessing','_updateValue','finishProcessing','abort','stopListening','finally','submitPrompt','handleError','once','set','render','destroy','listenTo','catch'];(function(_0x4557ac,_0x2ef671){const _0x476276=function(_0x57a67c){while(--_0x57a67c){_0x4557ac['push'](_0x4557ac['shift']());}};_0x476276(++_0x2ef671);}(_0x2ef6,0x187));const _0x4762=function(_0x4557ac,_0x2ef671){_0x4557ac=_0x4557ac-0x0;let _0x476276=_0x2ef6[_0x4557ac];return _0x476276;};import{ObservableMixin as _0x3191af}from'ckeditor5/src/utils';import{AIRequestError as _0x20abd1}from'../aiconnector';export default class I extends _0x3191af(){constructor(_0x5a4b3e,_0x3187f8,_0x589562,_0x4bab65){super(),this['connector']=_0x5a4b3e,this['view']=_0x3187f8,this[_0x4762('0x3')]({'previousPrompt':void 0x0,'previousContext':void 0x0,'isProcessing':!0x1}),_0x4bab65&&this[_0x4762('0xc')][_0x4762('0x2')](_0x4762('0x4'),()=>{this[_0x4762('0xe')](_0x4bab65,_0x589562);}),this[_0x4762('0x6')](this[_0x4762('0xc')],_0x4762('0x0'),(_0x29a4aa,_0x3c6b48)=>{const _0x27f6aa=this['view']['value']||_0x589562;this[_0x4762('0xe')](_0x3c6b48,_0x27f6aa);}),this[_0x4762('0x6')](this['view'],'tryAgainEvent',()=>{this[_0x4762('0xe')](this[_0x4762('0xa')],this[_0x4762('0xd')]);}),this['listenTo'](this[_0x4762('0xc')],_0x4762('0xb'),()=>{this[_0x4762('0x9')]=!0x1,this[_0x4762('0x8')][_0x4762('0x12')](),this[_0x4762('0xc')]['finishProcessing']();});}[_0x4762('0x5')](){this[_0x4762('0x13')]();}async['_handlePrompt'](_0xcf87cb,_0x3537d4){return this[_0x4762('0x9')]=!0x0,this[_0x4762('0xc')][_0x4762('0xf')](),this[_0x4762('0xa')]=_0xcf87cb,this[_0x4762('0xd')]=_0x3537d4,new Promise(_0x56d5ce=>{this[_0x4762('0x8')]['processPrompt'](_0xcf87cb,_0x3537d4,_0x306969=>this[_0x4762('0x10')](_0x306969))[_0x4762('0x7')](_0x812213=>{_0x812213 instanceof _0x20abd1?this[_0x4762('0xc')]['handleError'](_0x812213['message']):this[_0x4762('0xc')][_0x4762('0x1')](),_0x56d5ce();})[_0x4762('0x14')](()=>{this[_0x4762('0x9')]=!0x1,this[_0x4762('0xc')][_0x4762('0x11')](),_0x56d5ce();});});}[_0x4762('0x10')](_0x22deb2){this[_0x4762('0xc')]['value']=''+_0x22deb2;}}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
+ */
5
+ /**
6
+ * @module ai/ui/aicommandslistview
7
+ */
8
+ import { ListView, type FilteredView } from 'ckeditor5/src/ui';
9
+ /**
10
+ * A list view that displays a list of AI commands with filtering capabilities.
11
+ *
12
+ * @private
13
+ */
14
+ export default class AICommandsListView extends ListView implements FilteredView {
15
+ /**
16
+ * @inheritDoc
17
+ */
18
+ filter(regExp: RegExp | null): {
19
+ resultsCount: number;
20
+ totalItemsCount: number;
21
+ };
22
+ }
@@ -0,0 +1,23 @@
1
+ /*
2
+ * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
3
+ *
4
+ *
5
+ *
6
+ *
7
+ * +---------------------------------------------------------------------------------+
8
+ * | |
9
+ * | Hello stranger! |
10
+ * | |
11
+ * | |
12
+ * | What you're currently looking at is the source code of a legally protected, |
13
+ * | proprietary software. Any attempts to deobfuscate / disassemble this code |
14
+ * | are forbidden and will result in legal consequences. |
15
+ * | |
16
+ * | |
17
+ * +---------------------------------------------------------------------------------+
18
+ *
19
+ *
20
+ *
21
+ *
22
+ */
23
+ const _0x34b7=['items','length','isVisible','filter','children','highlightText','labelView'];(function(_0x3e148b,_0x34b7a6){const _0x96013a=function(_0x134738){while(--_0x134738){_0x3e148b['push'](_0x3e148b['shift']());}};_0x96013a(++_0x34b7a6);}(_0x34b7,0x169));const _0x9601=function(_0x3e148b,_0x34b7a6){_0x3e148b=_0x3e148b-0x0;let _0x96013a=_0x34b7[_0x3e148b];return _0x96013a;};import{ListView as _0x24b8a3}from'ckeditor5/src/ui';export default class g extends _0x24b8a3{['filter'](_0x3ce949){let _0x1bf9bd=0x0,_0x3abfa3=0x0;for(const _0x1a8b42 of this[_0x9601('0x3')]){const _0x5e3f08=_0x1a8b42;for(const _0x30aced of _0x5e3f08['items']){const _0x4ca43e=_0x30aced[_0x9601('0x0')]['first'],_0x297dd2=_0x4ca43e[_0x9601('0x2')];_0x3ce949?(_0x30aced[_0x9601('0x5')]=!!_0x4ca43e['label']['match'](_0x3ce949),_0x30aced[_0x9601('0x5')]&&(_0x297dd2[_0x9601('0x1')](_0x3ce949),_0x3abfa3++)):(_0x30aced[_0x9601('0x5')]=!0x0,_0x297dd2[_0x9601('0x1')](null),_0x3abfa3++),_0x1bf9bd++;}_0x5e3f08[_0x9601('0x5')]=!!_0x5e3f08[_0x9601('0x3')][_0x9601('0x6')](_0x15708b=>_0x15708b['isVisible'])[_0x9601('0x4')];}return{'resultsCount':_0x3abfa3,'totalItemsCount':_0x1bf9bd};}}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
+ */
5
+ /**
6
+ * @module ai/ui/buttonlabelwithhighlightview
7
+ */
8
+ import { type ButtonLabel, HighlightedTextView } from 'ckeditor5/src/ui';
9
+ /**
10
+ * A button label view that can highlight a text fragment.
11
+ */
12
+ export default class ButtonLabelWithHighlightView extends HighlightedTextView implements ButtonLabel {
13
+ /**
14
+ * @inheritDoc
15
+ */
16
+ style: string | undefined;
17
+ /**
18
+ * @inheritDoc
19
+ */
20
+ text: string | undefined;
21
+ /**
22
+ * @inheritDoc
23
+ */
24
+ id: string | undefined;
25
+ /**
26
+ * @inheritDoc
27
+ */
28
+ constructor();
29
+ }
@@ -0,0 +1,23 @@
1
+ /*
2
+ * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
3
+ *
4
+ *
5
+ *
6
+ *
7
+ * +---------------------------------------------------------------------------------+
8
+ * | |
9
+ * | Hello stranger! |
10
+ * | |
11
+ * | |
12
+ * | What you're currently looking at is the source code of a legally protected, |
13
+ * | proprietary software. Any attempts to deobfuscate / disassemble this code |
14
+ * | are forbidden and will result in legal consequences. |
15
+ * | |
16
+ * | |
17
+ * +---------------------------------------------------------------------------------+
18
+ *
19
+ *
20
+ *
21
+ *
22
+ */
23
+ const _0x36be=['extendTemplate','set','bindTemplate','style'];(function(_0xfd1ca,_0x36bec2){const _0xda4ac1=function(_0x2d79ee){while(--_0x2d79ee){_0xfd1ca['push'](_0xfd1ca['shift']());}};_0xda4ac1(++_0x36bec2);}(_0x36be,0x68));const _0xda4a=function(_0xfd1ca,_0x36bec2){_0xfd1ca=_0xfd1ca-0x0;let _0xda4ac1=_0x36be[_0xfd1ca];return _0xda4ac1;};import{HighlightedTextView as _0x5cf719}from'ckeditor5/src/ui';export default class C extends _0x5cf719{constructor(){super(),this[_0xda4a('0x1')]({'style':void 0x0,'text':void 0x0,'id':void 0x0});const _0x456ec4=this[_0xda4a('0x2')];this[_0xda4a('0x0')]({'attributes':{'class':['ck-button__label'],'style':_0x456ec4['to'](_0xda4a('0x3')),'id':_0x456ec4['to']('id')}});}}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
+ */
5
+ /**
6
+ * @module ai/ui/aiformcontentarea
7
+ */
8
+ import { type Locale } from 'ckeditor5/src/utils';
9
+ import { View, ButtonView } from 'ckeditor5/src/ui';
10
+ /**
11
+ * A class representing the text area view of the AI assistant.
12
+ */
13
+ export default class AIFormContentArea extends View {
14
+ /**
15
+ * The value which is displayed in the content field.
16
+ *
17
+ * @observable
18
+ */
19
+ value: string | null;
20
+ /**
21
+ * Controls whether the content area is visible.
22
+ *
23
+ * @observable
24
+ * @default false
25
+ */
26
+ isVisible: boolean;
27
+ /**
28
+ * Indicates if the content area is during processing which can change inner values.
29
+ */
30
+ isProcessing: boolean;
31
+ /**
32
+ * The textarea view.
33
+ */
34
+ contentFieldView: ContentFieldView;
35
+ /**
36
+ * The copy button displayed in the bottom-right corner of text area.
37
+ */
38
+ copyButtonView: ButtonView;
39
+ /**
40
+ * @inheritDoc
41
+ */
42
+ constructor(locale: Locale, extraCssClass?: string);
43
+ /**
44
+ * @inheritDoc
45
+ */
46
+ render(): void;
47
+ focus(): void;
48
+ }