__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

[email protected]: ~ $
�

���gW���\�SSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSK	r	SSK
r
SrSSK7 SSK7 SSKJrJrJrJrJr SSK7 SrSrSrSrSrSrSrS	rS
rSr Sr!S	r"Sr#Sr$0SS_S
S_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_S S_S!S_r%/S"Qr&/S#Qr'/S$Qr(/S%Qr)/S&Qr*/S'Qr+/S(Qr,S)/r-/S*Qr.0SS+_SS,_S	S-_S
S._S/S0_S1S2_S3S4_S5S6_S7S8_S9S:_S;S<_S=S>_S?S@_SASB_SCSD_SESF_SGSH_SISJ0Er/Sr0Sr1S	r2S
r3S/r4SKr5SLr6SMr7SNr8SOr9SPr:SQr;SRr<SSr=STr>SUr?SVr@SWrASXrBSYrCSZrDS[rES\rFS]rGS^rHS_rIS`rJSarKSbrLScrMSdrNSerOSfrPSgrQShrRSirSSjrTSkrUSlrVSmrWSnrXSorYSprZSqr[Srr\Ssr]Str^Sur_Svr`SwraSxrbSyrcSzrdS{reS|rf\eS}S~/4\fS/4S�.rgSS�KhJiri S�rj"S�S�\k5rlg!\a SSK
r
SrGNjf=f!\a S�rjN+f=f)��Nc�J�[R"U5R5$�N)�hashlib�sha1�	hexdigest��ss �*/usr/share/hplip/installer/core_install.py�get_checksumr%s���|�|�A��(�(�*�*�c�J�[R"U5R5$r)�sha�newrrs r
rr+s���w�w�q�z�#�#�%�%r)�*)�utils�tui�password�services�os_utils��0.0���z+(?is)<TITLE>.*?(404|403).*?ERROR.*?</TITLE>gffffff�?z+(?is)<TITLE>.*?ERROR.*?(404|403).*?</TITLE>z(?is)<TITLE>ERROR</TITLE>g333333�?z(?is)<TITLE>.*?ERROR.*?</TITLE>g�������?z#(?is)<META .*?(404|403).*?ERROR.*?>g�������?z#(?is)<META .*?ERROR.*?(404|403).*?>z((?is)<TITLE>.*?File Not Found.*?</TITLE>z#(?is)<TITLE>.*?Not Found.*?</TITLE>g�������?z(?is)<BODY.*(404|403).*</BODY>z(?is)<H1>.*?(404|403).*?</H1>g333333�?z(?is)<BODY.*not found.*</BODY>z(?is)<H1>.*?not found.*?</H1>z&(?is)<BODY.*the requested URL.*</BODY>z+(?is)<BODY.*the page you requested.*</BODY>z+(?is)<BODY.*page.{1,50}unavailable.*</BODY>z.(?is)<BODY.*request.{1,50}unavailable.*</BODY>z(?i)does not exist)(�hpijszhp-alignzhp-colorcalzhp-faxsetupzhp-linefeedcalzhp-pkservicezhp-printsettingsz
hp-sendfaxzhp-timedatezhp-checkzhp-devicesettingszhp-firmwarez
hp-makecopiesz	hp-pluginzhp-probezhp-setup�
hp-toolboxzhp-check-pluginzhp-diagnose_pluginzhp-infoz
hp-makeuriz	hp-pqdiagzhp-query�
hp-systrayz	hp-unloadzhp-cleanzhp-fabz	hp-levelszhp-printzhp-scanzhp-testpagez
hp-wificonfigz
hp-upgradez
hplip-infozhp-check-upgradezhp-config_usb_printerzhp-diagnose_queueszhp-devicesetupz	hp-doctorz
hp-logcapture)
z
libhpmud.*z	libhpip.*zsane/libsane-hpaio.*zcups/backend/hpzcups/backend/hpfaxzcups/filter/hpcaczsane/libsane-hp2000S1*zlibjpeg*zcups/filter/hppszcups/filter/pstotiffzcups/filter/hpcupszcups/filter/hpcupsfaxzcups/filter/hplipjs)z
cupsext.soz
cupsext.laz
scanext.soz
scanext.lazhpmudext.sozhpmudext.lazpcardext.sozpcardext.la)	z/usr/share/cups/drv/hp/z/usr/local/share/ppd/HP/z/usr/local/share/cups/drv/hp/z%/usr/share/applications/hplip.desktopz)/usr/share/applications/hp-uiscan.desktopz(/etc/xdg/autostart/hplip-systray.desktopz/etc/hp/hplip.confz/usr/share/doc/hplip-*z./usr/lib/systemd/system/hplip-printer*.service)
z56-hpmud.rulesz56-hpmud_sysfs.rulesz40-hplip.rulesz56-hpmud_support.rulesz56-hpmud_support_sysfs.rulesz55-hpmud.ruleszS99-2000S1.rulesz55-hpmud_sysfs.rulesz56-hpmud_add_printer.rulesz 56-hpmud_add_printer_sysfs.rulesz86-hpmud-hp_*.rulesz86-hpmud_plugin.rulesz86-hpmud_plugin_sysfs.rules)z*.pyz*.pyc�base�copier�data�	installer�pcard�ui4�uizfax/*.pyz	fax/*.pyczfax/pstotiff.convszfax/pstotiff.typeszfax/pstotiffz	prnt/*.pyz
prnt/*.pycz	scan/*.pyz
scan/*.pyc)zfax/plugins/z
prnt/plugins/z
scan/plugins/z/var/lib/hp/hplip.state)zadept-notifier�adept_notifierzyum-updatesdzGeneral/unknown errorzlibusb not foundzcups-devel not foundzlibnetsnmp not found�znetsnmp-devel not found�zpython-devel not found�zpthread-devel not found�zppdev-devel not found�	zlibcups not found�
zlibm not found�zlibusb-devel not found�zsane-backends-devel not found�
zlibdbus not found�zdbus-devel not found�zfax requires dbus support�fzlibjpeg not found�gzjpeg-devel not found�hzlibdi not foundzlibjpeg - JPEG libraryz+libtool - Library building support servicesz"CUPS - Common Unix Printing Systemz9CUPS devel- Common Unix Printing System development filesz)CUPS image - CUPS image development filesz$gcc - GNU Project C and C++ Compilerz6make - GNU make utility to maintain groups of programsz"libpthread - POSIX threads libraryzCGhostScript - PostScript and PDF language interpreter and previewerzlibusb - USB libraryz&CUPS DDK - CUPS driver development kitzSANE - Scanning libraryz)SANE - Scanning library development filesz+xsane - Graphical scanner frontend for SANEz"scanimage - Shell scanning programzDBus - Message bus systemz+PolicyKit - Administrative policy frameworkz<libnetsnmp-devel - SNMP networking library development filesz)libcrypto - OpenSSL cryptographic libraryz
network -wget�avahi-utilsz3Python 2.2 or greater - Python programming languagezJPython libnotify - Python bindings for the libnotify Desktop notificationsz$PyQt 4 DBus - DBus Support for PyQt4z4PyQt 4- Qt interface for Python (for Qt version 4.x)z$PyQt 5 DBus - DBus Support for PyQt5z4PyQt 5- Qt interface for Python (for Qt version 4.x)z&Python DBus - Python bindings for DBuszPython XML librariesz'Python devel - Python development fileszMPIL - Python Imaging Library (required for commandline scanning with hp-scan)z!PIP - preferred installer programz(Tesseract - Tesseract library for pythonzFTesserocr - Optical-character-recognition tesseract library for pythonz6Imutils - A series of basic image processing functionsz"Opencv - opencv library for pythonzZBAR -zbar library for pythonz(leptonica - leptonica library for pythonzpypdf2 - pdf library for pythonz"Reportlab - PDF library for PythonzCUPS-ExtensionzIO-ExtensionzHPLIP-SANE-BackendzScan-SANE-Extensionz	Python-QtzBuild Debian PackagezBuild Driver�libavahi-devz/etc/apparmor.dz$/etc/selinux/targeted/policy/policy*z/etc/apparmor.d/usr.share.hplipz"/etc/apparmor.d/abstractions/hplipz5/etc/selinux/targeted/modules/active/modules/hplip.pp)�AppArmor�SELinux��update_wrapperc�(^�U4Sjn[UT5$)Nc�j>�[RSTR<SU<SU<35 T"U0UD6$�NzTRACE: func=z	(), args=z	, kwargs=��log�debug�__name__��args�kw�fs  �r
�newf�trace.<locals>.newf��-����I�I��z�z�4��-�
.��d�>�b�>�!rr8�rDrEs` r
�tracerI�s���	"��d�A�&�&rc��^�U4SjnTRUlURRTR5 TRUlTRUlU$)Nc�j>�[RSTR<SU<SU<35 T"U0UD6$r<r=rAs  �r
rErF�rGr)r@�__dict__�update�__doc__�
__module__rHs` r
rIrI�sF���	"��
�
��
��
�
���Q�Z�Z�(��y�y����,�,����rc���\rSrSr\\S4SjrSdSjrSeSjrSdSjr	Sr
S	rS
rSr
SrS
rSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSr Sr!S r"S!r#S"r$S#r%S$r&S%r'S&r(S'r)S(r*S)r+S*r,S+r-S,r.S-r/S.r0S/r1S0r2S1r3S2r4S3r5S4r6S5r7S6r8S7r9S8r:S9r;S:r<S;r=S<r>S=r?S>r@S?rASfS@jrBSdSAjrCSfSBjrDSdSCjrESDrFSErGSFrHSGrISHrJSIrKSJrLSKrMSLrNSMrOSfSNjrPSfSOjrQSfSPjrRSfSQjrSSfSRjrTSdSSjrUSfSTjrVSfSUjrWSdSVjrXSWrYSdSXjrZSYr[SZr\S[r]S\r^\_4S]jr`\S4S^jra\4S_jrb\4S`jrc\4Sajrd\///4SbjreScrfg)g�CoreInstall���qt4c���[R"S5 XlX l[R
"U5UlSuUlUlUl	SUl
[RUl
[S[sUlUlUlSUlSUlSUl0UlSUlSUlSUl0UlX0lSUlSUlSUlSUl0S[@_S	[B_S
[@_S[D_S[@_S
[F_S[D_S[@_S[D_S[@_S[@_S[@_S[@_S[@_S[D_S[D_S[D_0S[D_S[F_S_S[D_S[F_S[D_S[F_S [D_S![@_S"[@_S#[D_S$[F_S%[F_S&[F_S'[F_S([F_S)[F_E[D[F[D[F[F[F[F[F[@[@[D[DS*.EUl$S+S,/S-Q40Ul%S+Ul&SS./4SS//4SS0/4SS1/4SS2/4SS3/4SS4/4SS5/4SS6/4SS7/4SS8/4SS9/4S:.Ul'SSSSSSSSSSSSSSS;.Ul(0S<SS=/[RURT[VS>S[X4_S?SS=/[ZUR\[VS>S[X4_S@SSAS=/[^UR`[VS>S[X4_SBSSAS=/[bURd[fS>SC[h4_SDSSAS=/[jURl[nSESF[p4_SGSSAS=/[rURt[fS>SF[X4_SHSSAS=/[vURx[fS>SF[X4_SISSAS=/[zUR|[fS>SJ[h4_SKSSAS=/[~UR�[fSLSM[h4_SNSSAS=/[�UR�[VS>SO[X4_SPSSAS=/[�UR�[nSQSR[p4_SSSSA/[�UR�[VS>ST[X4_SUSSAS=/[�UR�[nS>S[X4_SVSSW/[�UR�[nS>SX[X4_SYSSW/[�UR�[fS>SX[X4_SZSSW/[�UR�[VS>S[[X4_S\SSW/[�UR�[nS]S^[p4_SSW/[�UR�[nS_S`[p4SSa/[�UR�[VS>Sb[p4SScSd/[�UR�[nS>Se[p4SSf/[�UR�[VSgSh[X4SSf/[�UR�[VS>Si[X4SSf/[�UR�[nS>Sj[p4SSf/[�UR�[nS>Sk[p4Sl.EUl_SSA/[�UR�[VSmSn[X4SSdSc/[�UR�[nS>So[X4SSc/[�UR�[nSpSq[X4SSc/[�UR�[nSpSq[X4SSd/[�UR�[nSrSs[X4SSd/[�UR�[nSrSs[X4SSa/[�UR�[nStSu[X4SSA/[�UR�[nS>Sv[X4SSA/[�UR�[fSmSn[X4SSW/[�UR�[nS>Sw[X4SSa/[�UR�[nSxSy[X4Sz.nSSA/[�UR�[VSmS{[X4SSdSc/[�UR�[nS>So[X4SSc/[�UR�[nSpSq[X4SSc/[�UR�[nSpSq[X4SSd/[�UR�[nSrSs[X4SSd/[�UR�[nSrSs[X4SSa/[�UR�[nStSu[X4SSA/[�UR�[nS>Sv[X4SSA/[�UR�[fSmS{[X4SSW/[�UR�[nS>Sw[X4SSa/[�UR�[nSxSy[X4S|.nS}S~KvJwn U(aUR�R�U5 OUR�R�U5 SSA/[�UR�[VS>S[�4SSA/[�UR�[VS>S[�4SSW/[�UR�[VS>SG[4SSW/G[UGR[VS>SG[4SS�/G[UGR[VS�S�[X4S�.Ul�G[G[G[G[G[G[G[G[G[G[G[ S�.Ul�URNHZnG[%5 UR�H<nXpR�US�;dMURNUS�GR'U5 M> M\ UGR)5 0Ul�UR4H"nX�GR*UR4US	'M$ g)�N���rWrW� rWFz/usrT�distros�index�versions�display_name�	alt_names�display�notes�package_mgrs�package_mgr_cmd�pre_install_cmd�pre_depend_cmd�post_depend_cmd�scanjet_depend_cmd�scanjet_py3_depend_cmd�hpoj_remove_cmd�hplip_remove_cmd�su_sudo�ppd_install�
udev_mode_fix�ppd_dir�drv_dir�fix_ppd_symlink�	code_name�	supported�release_date�packages�commands�same_as_version�scan_supported�
fax_supported�pcard_supported�network_supported�parallel_supported�
usb_supported)�packaged_version�cups_path_with_bitness�
ui_toolkit�	policykit�libusb01�udev_sysfs_rule�native_cups�package_available�package_arch�open_mdns_port�libdir_path�hp_libs_remove_cmd�hplipz$HP Linux Imaging and Printing System)�prntr�network�gui_qt4�gui_qt5�fax�scan�docszPrint Component z1Required HPLIP base components (including hpcups)zNetwork/JetDirect I/OzGraphical User Interfaces (Qt4)zGraphical User Interfaces (Qt5)zGraphical User Interfaces (Qt)zPC Send Fax supportzScanning supportzHPLIP documentation (HTML)zAdministrative policy framework�
libusb-1.0r�)r�rr�r�r��gui_qtr�r�r�r~rr�)r�rr�r�r�r�r�r�r�r~rr�r��class-driver�epmr��-�automake�libjpegr�libtool�libtool --version�cupsz1.1�	lpstat -rz
cups-develz
cups-image�gcc�
gcc --version�makez3.0�make --version�
libpthread�FUNC#get_libpthread_version�gsz7.05zgs --version�libusb�FUNC#get_libusb_versionzcups-ddk�saner�zsane-config --versionz
sane-develr5zFUNC#check_libavahi_dev�xsane�0.9�FUNC#get_xsane_versionz1.0�scanimage --versionr�zdbus-daemon --versionr�r�zpkexec --versionr�z5.0.9znet-snmp-config --versionzopenssl versionzwget --versionzavahi-browse --version)�	scanimage�dbusr~zlibnetsnmp-devel�	libcryptor�r4z2.2zpython --versionzpython-notify --versionz4.0�FUNC#get_pyQt4_version�5.0�FUNC#get_pyQt5_versionz0.80.0�FUNC#get_python_dbus_ver�FUNC#get_python_xml_version�FUNC#get_pil_version�2.0�FUNC#get_reportlab_version)�python2Xz
python-notifyz
pyqt4-dbus�pyqt4z
pyqt5-dbus�pyqt5�python-dbusz
python-xmlzpython-devel�pil�	reportlabzpython3 --version)�python3Xzpython3-notify2zpython3-pyqt4-dbusz
python3-pyqt4zpython3-pyqt5-dbusz
python3-pyqt5�python3-dbuszpython3-xmlz
python3-develzpython3-pilzpython3-reportlabr��PY3�FUNC#get_HPLIP_versionr�z2.3�FUNC#get_pyQt_version)�cupsext�hpmudext�hpaio�scanext�pyqt)r�r�r�r�r�r�r�r�r�r�r�rr)��os�umask�mode�ui_moder�Password�passwordObj�version_description�version_public�version_internal�bitnessr�
LITTLE_ENDIAN�endian�DISTRO_UNKNOWN�DISTRO_VER_UNKNOWN�distro�distro_name�distro_version�distro_version_supported�install_location�
hplip_present�have_dependenciesr�rlrmrYr}�enable�disable�reload_dbus�security_package�	TYPE_LIST�TYPE_INT�TYPE_STRING�	TYPE_BOOL�FIELD_TYPES�
components�selected_component�options�selected_options�EPM_STR�	check_epm�DEPENDENCY_RUN_AND_COMPILE_TIME�
GENERALDEP�AUTOMAKE_STR�check_automake�JPEG_STR�
check_libjpeg�LIBTOOL_STR�
check_libtool�DEPENDENCY_COMPILE_TIME�
COMPILEDEP�CUPS_STR�
check_cups�DEPENDENCY_RUN_TIME�EXTERNALDEP�CUPS_DEV_STR�check_cups_devel�CUPS_IMG_STR�check_cups_image�GCC_STR�	check_gcc�MAKE_STR�
check_make�
THREAD_STR�check_libpthread�GS_STR�check_gs�USB_STR�check_libusb�CUPS_DDK_STR�
check_cupsddk�SANE_STR�
check_sane�SANE_DEV_STR�check_sane_devel�	LIB_AVAHI�check_libavahi_dev�	XSANE_STR�check_xsane�
SCANIMAGE_STR�check_scanimage�DBUS_STR�
check_dbus�
POLKIT_STR�check_policykit�SNMP_DEV_STR�check_libnetsnmp�
CRYPTO_STR�check_libcrypto�NETWORK_STR�
check_wget�	AVAHI_STR�check_avahi_utils�dependencies�
PYTHON_STR�check_python�	PYNTF_STR�check_pynotify�QT4DBUS_STR�check_pyqt4_dbus�QT4_STR�check_pyqt4�QT5DBUS_STR�check_pyqt5_dbus�QT5_STR�check_pyqt5�
PYDBUS_STR�check_python_dbus�	PYXML_STR�check_python_xml�
PY_DEV_STR�check_python_devel�PIL_STR�	check_pil�
REPORTLAB_STR�check_reportlab�base.sixextr�rM�CUPSEXT_STR�
check_cupsext�PYEXT�HPMUDEXT_STR�check_hpmudext�	HPAIO_STR�check_hpaio�SCANCONF�SCANEXT_STR�
check_scanext�QT_STR�
check_pyqt�hplip_dependencies�get_python_dbus_ver�get_pyQt5_version�get_pyQt4_version�get_pyQt_version�get_reportlab_version�get_xsane_version�get_pil_version�get_libpthread_version�get_python_xml_version�get_HPLIP_version�get_libusb_version�version_func�update_spinner�append�load_distros�
distros_index)	�selfr�r�r}�python2_dep�python3_depr��opt�ds	         r
�__init__�CoreInstall.__init__�s�
��
������	���#�,�,�W�5���OY�L�� �$�"5�t�7L�����)�)���=K�R�Qc�:���T�%�t�':�(-��%� &���"���!#���������������$�������� ��� "���/
��y�/
��X�/
�
�	�/
�
�K�	/
�

��/
�
�y�
/
�
�[�/
�
�I�/
�
�{�/
�
�y�/
�
�i�/
�
�y�/
�
!�)�/
�
%�i�/
�
�{�/
� 
��!/
�"
�{�#/
�$
�;�%/
�&
�Y�'/
�(
�{�)/
�*
�{�+/
�,
�y�-/
�.
��//
�0
��1/
�2
�K�3/
�4
�	�5/
�6
�	�7/
�8
�{�9/
�:
�i�;/
�<
�Y�=/
�>
�y�?/
�@
 ��A/
�B
!�)�C/
�D
�Y�E/
�F!,�&/�%�"�!�(�$�!*�%�'�&�"-�]/
���h
�<�?a�b�
���
#*����1�2�6�� S�UW�X��6��;��@�"�E��@�"�E��>��C��4�b�9�� 2�B�7�� <�b�A��!B�B�G���b�1� %�'8�"�=�
���&!��� � � ���� ��$� �!�!
���*.
�����'�4�>�>�Kj�lo�qu�xB�!C�.
�
���x��t�?R�?R�Ts�ux�z~�AK�!L�.
�
����(8�(�D�DV�DV�Xw�y|�C�EO�!P�	.
�

����(8�+�t�GY�GY�[r�tw�zM�OY�!Z�.
�
����'7��4�?�?�Tg�in�p{�~I� J�
.
�
����(8�,��H]�H]�_v�x{�~I�KU�!V�.
�
����(8�,��H]�H]�_v�x{�~I�KU�!V�.
�
����'7��$�.�.�Ri�kn�p�BL� M�.
�
����'7��4�?�?�Tk�mr�uE�GQ� R�.
�
����'7��T�EZ�EZ�\{�~A�C`�bl� m�.
�
����(8�&�$�-�-�Qd�fl�n|�J�!K�.
�
����'�4�;L�;L�Nm�or�uN�PZ�![�.
�"
�%�&�&�)9�<��I[�I[�]p�ru�w{�~H�"I�#.
�*
���x��4�?�?�L_�ad�f}�@J� K�+.
�,
���x��t�?T�?T�Vm�or�uL�NX� Y�-.
�.
���x��D�<S�<S�Ut�vy�|U�Wa� b�/.
�<
����)�T�=M�=M�Ob�di�lD�FQ�!R�=.
�>"'���-��AU�AU�Wj�lq�tI�KV�!W�"&����4�?�?�Lk�mp�sJ�LW�!X�
"'��I�(>�
�D�L`�L`�bu�wz�}O�Q\�!]�"&���\�4�CX�CX�Zy�|C�E`�bl�!m�!%���Z��AU�AU�Wv�x{�~O�Q[�!\�$�y�k�;����Qd�fi�k{�~I�J�#(�9�+�y�$�BX�BX�Zm�or�uM�OZ�#[�[.
���b"&���*�d�>O�>O�Qp�rw�zL�NX�!Y�!&�	�9�'=�y�$�J]�J]�_r�tw�zS�U_� `� $�	�{�K��AV�AV�Xk�mr�uM�OY� Z�!%���W�d�>N�>N�Pc�ej�mE�GQ�!R� %���[�$�BW�BW�Yl�ns�vN�PZ� [�!%���W�d�>N�>N�Pc�ej�mE�GQ�!R�!%����T�=S�=S�Uh�jr�uO�Q[�!\�#�v�h�	�4�;P�;P�Re�gj�mJ�LV�W� $��x��T�=T�=T�Vm�ot�wI�KU� V�!&���'�4�>�>�K^�`c�e{�~H�!I�"'�����@T�@T�Vi�kp�sO�Q[�!\�+
��6$(�6�(�J��@Q�@Q�Sr�ty�|O�Q[�#\�#(�)�Y�)?��D�L_�L_�at�vy�|U�Wa�"b�#(�9�+�{�D�DY�DY�[n�pu�xP�R\�#]�#'�9�+�w��@P�@P�Re�gl�oG�IS�#T�#(�9�+�{�D�DY�DY�[n�pu�xP�R\�#]�#'�9�+�w��@P�@P�Re�gl�oG�IS�#T�#'�5�'�:�t�?U�?U�Wj�lt�wQ�S]�#^�!%���)�T�=R�=R�Tg�il�oL�NX�!Y�"&�&��:�t�?V�?V�Xo�qv�yL�NX�"Y�#(�6�(�G�T�^�^�M`�be�g}�@J�#K�$)�5�'�=�$�BV�BV�Xk�mr�uQ�S]�#^�)
��0	$�����$�$�[�1����$�$�[�1�!%��x��d�>P�>P�Rq�sv�yQ�SX� Y� $��x��t�?R�?R�Ts�ux�{S�UZ� [� $��x��D�<L�<L�Nm�or�uM�OW� X�"&�&��;��@R�@R�Ts�ux�{S�U]�"^� $��z�6�4�?�?�Lk�mr�uL�NX� Y�#
���)<�&7�&7�%5�*?�&7�$3�+A�+A�&7�'9�
����<�<�C����&�&���+�+�A�.�q�1�1��L�L��%�a�(�/�/��2�'� �	
����������A�;<���t�|�|�A��w�7�8�rNc��	�UbU"S5 [5 /UlURHhn[5 URURS/5H8nU(dMX0R;dMURR	U5 M: Mj UR5uUlUlUl[RSUR<SUR<SUR<35 URHn[5 SURU'M UR5 URURUlUR#5 UbU"SUR-5 UR%U5 URHZn[5 [RSU<S	URU<35 UcM<U"S
U<S	URU<S35 M\ [&R("UR5upEU(a[RSU<S
U<S35 [&R*"5Ul[RSUR,-5 [5 [&R."5Ul[RSUR0-5 [5 UR3SS5Ul[RSUR<SUR <SURUR S<SUR6<SUR4<3
5 [5 UR95Ul[RSUR:-5 [&R<"SUR>5upgURA5Ul![RSURB-5 UR S:XaSUl"[RSURD-5 [&R<"SUR>5uo`l#URFRISS5Ul#[RURF5 [JRMS S![NRP"S"[NRR"555 [JRMS S#UR5 Ub	U"S$5 gg)%NzInit...
r`zHPLIP Description=z Public version=z Internal version = FzDistro: %s
�have � = zResult: �
zRunning package manager: z (�)zBitness = %dzEndian = %drpz	Distro = z Distro Name = z Display Name= r\z Version = z
 Supported = zHPLIP (prev install) = %szcups-config --versionzCUPS version = %s�ubuntuTz&DBUS configuration reload possible? %szuname -arW�installation�	date_timez%x %H:%M:%S�version�Done)*rMr`rY�getrN�get_hplip_versionr�r�r�r>r?rr��
get_distrorPr�r��distro_changed�check_dependenciesr�
check_pkg_mgr�
getBitnessr��	getEndianr��get_distro_ver_datar�r��check_hplipr��runr��strip�cups_verr��sys_uname_info�replace�	user_conf�set�time�strftime�	localtime)rQ�callbackrU�a�pid�cmdline�status�outputs        r
�init�CoreInstall.init�s������[�!���������A����\�\�!�_�(�(���<���1��"3�"3�3��%�%�,�,�Q�/�=��PT�Oe�Oe�Og�L�� �$�"5�t�7L��	�	��+�+�T�-@�-@�$�BW�BW�Y�	Z��"�"�A���(-�D�"�"�1�%�#�	
�����-�-�d�k�k�:����������^�d�k�k�1�2�����)��"�"�A����I�I��4�+A�+A�!�+D�E�F��#���4�3I�3I�!�3L�M�N�
#��*�*�4�+<�+<�=�����I�I�G�S�I�J��'�'�)����	�	�.�4�<�<�/�0����o�o�'����	�	�-�$�+�+�-�.���(,�(@�(@���) ��%�	�	�	��;�;�� 0� 0�$�,�,�t�?O�?O�2P�Q_�2`��&�&��(E�(E�G�	H�	��!�-�-�/����	�	�-��0B�0B�B�C����#:�D�<L�<L�M��������
��	�	�%��
�
�5�6����x�'�#�D���	�	�:�T�=M�=M�M�N�&+�i�i�
�D�<L�<L�&M�#��#�"�1�1�9�9�$��C����	�	�$�%�%�&�	�
�
�n�k��m�m�M�4�>�>�3C�D�	F��
�
�n�i��1D�1D�E����V�� rc��XlX lURUSUlX0l	URHnSURU'M URSS5S:HUl
URS5UlURS5UlSUlg![a1 [
R
SU-5 [R"S5 N�f=f)	NrZzInvalid distro name: %srTrj�ppdrlrm)r�r�rYr��KeyErrorr>�error�sys�exitr�rr�rj�enable_ppdsrlrmr�)rQr�r`r�rUs     r
�
init_for_docs�CoreInstall.init_for_docsNs���&��%��	��,�,�{�3�G�<�D�K�
���"�"�A�(,�D�"�"�1�%�#� �3�3��5�"�%*�+����/�/�	�:����/�/�	�:���(,��%���	��I�I�/�+�=�>��H�H�Q�K�	�s�B�8C�Cc�N�[5 URH�n[5 [R	SU-5 UbU"SU-5 URUS"5UR
U'[R	SU<SUR
U<35 M� [
5 g)Nz Checking for dependency '%s'...
z
Checking: %s
rrYrZ)�update_ld_outputrrMr>r?r��cleanup_spinner)rQrvrUs   r
rf�CoreInstall.check_dependenciesds������"�"�A����I�I�9�A�=�>��#��)�A�-�.�(,�(9�(9�!�(<�Q�(?�(A�D�"�"�1�%��I�I��4�+A�+A�!�+D�E�F�#�	�rc��UR(aUR$UR[:XaSSKnURS5$g)NrzEnter password: rW)rr��INTERACTIVE_MODE�getpass)rQr�s  r
�
password_func�CoreInstall.password_functs6���=�=��=�=� �
�\�\�-�
-���?�?�#5�6�6�rc��[RS5 SupSnSSKnURSS9nUSnUSnSnU(Ga�UR	5R5n[RSU-5 UR
S	5S
:�dUR
S5S
:�aSn[RS
U-5 US:XaUSS:XaUSS:XaSnOUS:XaUSS:XaUSS:XaSnSU;aUSSnSnSUR	5;aURS5nUSS-US-nSnURH�nUR
U5S
:�aURUSUlSnO_URURSS5H<n	U	(dMUR
U	5S
:�dM#URUSUlSn O U(dM� O X l
XlO([RS5 [SsUlUl
[RSURUR4-5 g)NzDetermining distro...)rWrFr)�full_distribution_namerTzDistro name=%s�redhatenterprise����redhat�rhelzDistro version=%s�5�.r��6z6.0�MXrr&�mxlinux�manjarorZr]rWz%Failed to get the distro information.rzdistro=%d, distro_version=%s)r>r?r��linux_distribution�lowerrm�find�splitrYrbr�r��warnr�)
rQ�name�ver�foundr��ldr`�
found_in_listrU�xs
          r
rd�CoreInstall.get_distro}s���	�	�)�*��	�����
�
&�
&�e�
&�
D���!�u����e������:�:�<�%�%�'�D��I�I�&��-�.��y�y�+�,�r�1�T�Y�Y�x�5H�2�5M����I�I�)�C�/�0��v�~�#�a�&�C�-�C��F�c�M������C��F�c�M�c�!�f��m����t�|��1�Q�i�� ���D�J�J�L�(��)�)�C�.���a�j�#�o�g�a�j�0��!�M��\�\���9�9�Q�<�"�$�"&�,�,�q�/�'�":�D�K�$(�M�!�\�\�!�_�0�0��b�A���1����1���!2�*.�,�,�q�/�'�*B�D�K�,0�M�!�	B�
!�=��"�#&��#���H�H�<�=�/=�u�,�D�K��,��	�	�0��;�;�� 3� 3�4�5�	6rc�j�URSS5nUS;a[RSU-5 US:HUl[R	SUR-5 URS5UlURS5UlUR(d3UR(d"[RSUR-5 URS	S
5UlURSS5URS
'URSS5URS'URSS5URS'URSS
5URS'URSS
5URS'URSS
5URS'URSS
5Ul	URSS5R5nUS:Xa,[R	S5 SUlSURS'O1US:Xa+[R	S5 SUlSURS'URbwSUR;a,[R	S5 SUlSURS'O;SUR;a+[R	S5 SUlSURS'URbkSUR;a%[R	S5 S
URS'gSUR;a%[R	S 5 S
URS'ggg)!Nrjr)r�drvzInvalid ppd_install value: %sz"Enable PPD install: %s (False=drv)rlrmzInvalid drv_dir value: %srpFrvTr�rxr�rur�r~rr�r�r}rSzDefault UI toolkit: Qt4r��qt5zDefault UI toolkit: Qt5r�zUser selected UI toolkit: Qt4zUser selected UI toolkit: Qt5zUser deselected UI toolkit: Qt4zUser deselected UI toolkit: Qt5)rjr>�warningr�r?rlrmr�r�r�r�r}r�r�)rQrjr}s   r
re�CoreInstall.distro_changed�s����.�.�}�e�D���n�,��K�K�7�+�E�F�'�5�0����	�	�6��9I�9I�I�J��/�/�	�:����/�/�	�:����������K�K�3�d�l�l�B�C�(,�(@�(@���) ��%�'+�'?�'?��T�(#����e�$�+/�+C�+C���,'����i�(�(,�(@�(@��d�)$����f�%�-1�-E�-E���. ����k�*��2�2�:�u�E�	
����	�37�3K�3K��u�4&����/�0��3�3�M�5�I����-�-�l�E�B�H�H�J�
�����I�I�/�0�#�D�O�/3�D�!�!�)�,�
�5�
 ��I�I�/�0�#�D�O�/3�D�!�!�)�,��;�;�"�����#��	�	�9�:�"'���37��%�%�i�0��$�+�+�%��	�	�9�:�"'���37��%�%�i�0��<�<�#�����$��	�	�;�<�38��%�%�i�0��$�,�,�&��	�	�;�<�38��%�%�i�0�'�	$rc��URRU[5nU[:Xa[R
"U5$U[:Xa*[
S5[
U5:XaUR5$U$U[:Xa[U5$U[:Xa*URS5Vs/sH
oD(dMUPM sn$g![a gf=fs snf)NrWr�,)
r�rbr�r�r�to_bool�typermr��int�
ValueErrorr�r�)rQ�keyr �
field_typer�s     r
�__fixup_data�CoreInstall.__fixup_data�s����%�%�)�)�#�{�;�
���"��=�=��&�&�
�;�
&��B�x�4��:�%��z�z�|�#���
�8�
#�
��4�y� ��9�
$�#�z�z�#��4��!�!�A��4�4�%���
��
��5s�
C�(
C�6C�
C
�C
c��Sn[U5nURSURSS55n[R	U5 UGH�n[5 0nUR
U5(d[R	SU-5 M@URU5H%nURXbRXF55XV'M' XPRU'URSURUS55n0URUS'XpRUS'UGH�nSup�0nU<SU<3nUR
U5(d [RSU<SU<S	35 MIS
URU5;aSn	URSURUS55n
URU5H%nURXbRX�55X�'M' X�RUSU'0URUSUS
'U	(aM�URH�n
0nU<SU<SU
<3nUR
U5(d	U	(dM1URU5H%nURXbRX�55X�'M' UURUSUS
U
'M� GM� URUSnUGHSnU<SU<3nS
URU5;dM$URS
URUS
55nSSKnURURUSU5nUUS
'UURUSU'URU5H&nURXbRX�55UU'M( 0nURH}n
U<SU<SU
<3nUR
U5(dM(URU5H%nURXbRX�55X�'M' UURUSUS
U
'M GMV GM� g![a# [R	SU<SU<S35 GM�f=f)Nz&/usr/share/hplip/installer/distros.datrYz+Missing distro section in distros.dat: [%s]r[�
versions_list)FT�:z)Missing version section in distros.dat: [�]rtTrp�dependency_cmdsrz?Missing 'same_as_version=' version in distros.dat for section [z].)�
ConfigBase�_CoreInstall__fixup_datarbr>r?rM�has_section�keysrYr�r�copy�deepcopyr�)rQ�distros_dat_file�distros_dat�distros_listr�rUr�r[r�rtrp�v�ver_section�dep�dd�dep_sectionr��vvs                  r
rO�CoreInstall.load_distrossA��C�� �!1�2���(�(��{���y�)�<�>���	�	�,��"�F����A��*�*�6�2�2��	�	�A�F�J�L��"�'�'��/���*�*�3����0L�M���0�$%�L�L�� ��(�(��K�O�O�F�J�?�A�H�/1�D�L�L�� ��,�4<�L�L�� ��1���-8�*����)/��5��"�.�.�{�;�;��I�I�MS�UX�Y�[��$��(8�(8��(E�E�&*�O� �-�-������k�!J�L�	�'�+�+�K�8�C�!�.�.��_�_�[�>�@�A�F�9�9:���V�$�Z�0��5�KM����V�$�Z�0��5�6G�H�"���,�,�C��B�06��S�"A�K�&�2�2�;�?�?�� �
 +�/�/��<��"&�"3�"3�����!B�#D��� =�
8:��L�L��(��4���.�0�03�5�-�5 �V�|�|�F�+�J�7�H���)/��5��$��(8�(8��(E�E��)�)�*;�[�_�_�#�%6�>8�9�A�!�#�!�]�]�4�<�<��+?�
�+K�A�+N�O��01��,�-�@B����V�,�Z�8��=�#.�#3�#3�K�#@�C�&*�&7�&7� #�_�_�[�%F�'H�B�s�G�$A� ��#'�#4�#4�C�8>��S�*I�K�#.�#:�#:�;�#G�#G� (�'2�'7�'7��'D��*.�*;�*;�$'����)J�+L���(E�
@B�!�L�L��0��<� #�%�%6�8�8;�=�$5�# �}#��v$�!��	�	�hn�pq�r�t� �!�s�=DP�(Q�Qc��gr��rQs r
�pre_install�CoreInstall.pre_installs���rc��grr�r�s r
�
pre_depend�CoreInstall.pre_dependvr�rc�l�[RnUSSup#[RSX#4-5 US:�$)Nr�Python ver=%d.%d�r��version_infor>r?�rQ�py_ver�py_major_ver�py_minor_vers    r
r�CoreInstall.check_pythonys;���!�!��%+�B�Q�Z�"���	�	�$��'C�C�D��q� � rc�@�[SS5=(a [SS5$)Nr�rz
g++ --version��
check_toolr�s r
r��CoreInstall.check_gccs���/�1�-�P�*�_�a�2P�Prc��[SS5$)Nr�g@r�r�s r
r��CoreInstall.check_make�s���*�C�0�0rc��URSS5nUS:Xa8[S5(dgURS:wa[[	SSS55$g[S	5(dgURS:wa[[	S
SS55$g)
NrFTr�r�zusb.h�/usr/include�usb_initr�zlibusb.hz/usr/include/libusb-1.0�libusb_init)rj�	check_libr��len�locate_file_contains)rQ�Is_libusb01_enableds  r
r�CoreInstall.check_libusb�s���"�6�6�z�5�I���$�&��X�&�&�����6�)��/����T�U�U���\�*�*�����6�)��/�
�<U�Wd�e�f�f�rc��[S5$)Nz
epm --versionr�r�s r
r��CoreInstall.check_epm�s
���/�*�*rc��[S5$)Nzautomake --versionr�r�s r
r��CoreInstall.check_automake�s���.�/�/rc�<�[S5=(a [S5$)Nr�z	jpeglib.h�r��
check_filer�s r
r��CoreInstall.check_libjpeg�s����#�?�
�;�(?�?rc�<�[S5=(a [S5$)Nr�zcrypto.hr�r�s r
r�CoreInstall.check_libcrypto�s����%�@�*�Z�*@�@rc�<�[S5=(a [S5$)Nr�z	pthread.hr�r�s r
r��CoreInstall.check_libpthread�s����&�B�:�k�+B�Brc�<�[S5=(a [S5$)N�
libnetsnmpznet-snmp-config.hr�r�s r
r�CoreInstall.check_libnetsnmp�s����&�J�:�6I�+J�Jrc��[RS5 SSKn[UR5n[RSU-5 US:�a[RS5 gg![
a [RS5 gf=f)	NzTrying to import 'reportlab'...rz
Version: %.1sr�zSuccess.TFzFailed.)r>r?r��str�Version�ImportError)rQr�r�s   r
r2�CoreInstall.check_reportlab�so��	��I�I�7�8���i�'�'�(�C��I�I�o��+�,��e�|��	�	�*�%�����	��I�I�i� ��	�s�A!A%�%B�Bc��[RnUSSup#[RSX#4-5 US:�=(a US:�$)Nrr�rr�r�s    r
�check_python23�CoreInstall.check_python23�sE���!�!��%+�B�Q�Z�"���	�	�$��'C�C�D��q� �6�\�Q�%6�6rc�.�SSKng![a gf=f�NrTF)�xml.parsers.expatr�)rQ�xmls  r
r,�CoreInstall.check_python_xml�s#��	�$����	��	����
�c��[S5$)N�libsane)r�r�s r
r�CoreInstall.check_sane�s
����#�#rc�.�[[SSS55$)Nzsane.hr�zextern SANE_Status sane_init)r�r�r�s r
r	�CoreInstall.check_sane_devel�s���'��.�B`�a�b�brc��[R"S5(a[[5S5$[	[
R"S55$)N�DISPLAYr�r�)r��getenv�
check_versionrF�boolr�whichr�s r
r
�CoreInstall.check_xsane�s8��
�9�9�Y��� �!2�!4�e�<�<�
����G�,�-�-rc��[SS5$)Nr�g�?r�r�s r
r�CoreInstall.check_scanimage�s���/��5�5rc��[SS5$)Nzgs -vg333333@r�r�s r
r�CoreInstall.check_gs�s���'�4�(�(rc�P�URS:XaSSKngg![a gf=f)NrSrTF)r}�PyQt4r�)rQrs  r
r$�CoreInstall.check_pyqt4��2���?�?�e�#�
������
��
����
%�%c�P�URS:XaSSKngg![a gf=f)Nr�rTF)r}�PyQt5r�)rQr s  r
r(�CoreInstall.check_pyqt5�rrc�T�URS:XaSSKJn gg![a gf=f)NrSr��DBusQtMainLoopTF)r}�dbus.mainloop.qtr$r��rQr$s  r
r"�CoreInstall.check_pyqt4_dbus�s2���?�?�e�#�
�;�����
��
����
'�'c�T�URS:XaSSKJn gg![a gf=f)Nr�rr#TF)r}�dbus.mainloop.pyqt5r$r�r&s  r
r&�CoreInstall.check_pyqt5_dbuss2���?�?�e�#�
�>�����
��
�r(c�P�URS:XaSSKngg![a gf=f)N�qt3rTF)r}�qtr�)rQr.s  r
r?�CoreInstall.check_pyqts4���?�?�e�#�
�����
�
��
�rc��[R"S[RS-5nSnUHn[SUS9(dMSn U$ U$)Nz/usr/include/python%d*rFzPython.h)�dirT)�globr�r�r�)rQ�dir_list�Found�ps    r
r.�CoreInstall.check_python_develsQ���9�9�5��8H�8H��8K�K�L�����A��*�!�,�,�������
�rc�r�SSKng![[4a SSKng![[4a gf=ff=f)NrFT)�notify2r��RuntimeError�pynotify)rQr8r:s   r
r �CoreInstall.check_pynotify"sK��	�����\�*�	�
���� ��.�
��
��	�s��6��2�6�2�6c��[RS5 SSKnURn[RSSR	URVs/sHn[U5PM sn5-5 US:�$s snf![am URn[RSUR-5 [RS5 g![a [RS5 gf=ff=f![a gf=f)	Nz%Checking for python-dbus (>= 0.80)...rzVersion: %sr�)r�Prz#HPLIP requires dbus version > 0.80.Fz4Unknown version. HPLIP requires dbus version > 0.80.)	r>r?r�r`�joinr��AttributeError�__version__r�)rQr�r�r�s    r
r*�CoreInstall.check_python_dbus,s����	�	�9�:�	��
!��l�l���	�	�-�#�(�(�%)�\�\�2�\��S��V�\�2�+4�4�5��j�(�(��3��"�

!�	!��*�*�C��I�I�m�d�.>�.>�>�?��I�I�C�D� ��%�!��I�I�N�P� �!��

!���	��	�s_�C7�5A=�A8�&A=�8A=�=
C4�AC
�C7�
C0�,C4�-C7�/C0�0C4�4C7�7
D�Dc�.�SSKng![a gf=fr)�ctypesr�)rQrCs  r
�check_python_ctypes�CoreInstall.check_python_ctypesEs��	�����	��	�r	c��[RS5 SnURR5S:XaURS:�agSURR5;aSSKnUR
5nSnO[S/5(aSnU(a[[S	S
S55$[RS5 g! SnN9=f)
NzBChecking for dbus running and header files present (dbus-devel)...F�fedora�30Tr�rzdbus-daemonzdbus-message.hr��dbus_message_new_signalzDbus support not found)
r>r?r�r�r�r��	SystemBus�check_psr�r�)rQ�
dbus_foundr��_dbuss    r
r�CoreInstall.check_dbusLs����	�	�V�W��
����"�"�$�h�.�T�5H�5H�$�5N����)�)�/�/�1�1�
#�����(��!�
����(�(�!�
���+�,<�)7�9R�T�U�
U�
�I�I�.�/���
#�"�
�s�&C�C	c�d�[S5=(a [[R"S55$)Nzcups.h�lpr)r�rrrr�s r
r��CoreInstall.check_cups_develcs ���(�#�@��U�[�[��-?�(@�@rc���[R"SUR5upUS:�dSU;a[R	SU-5 g[R	SU-5 g)Nr�rznot runningzCUPS is not running. %sFzCUPS is running. %s T)rrlr�r>r?)rQrzr{s   r
r��CoreInstall.check_cupsfsR�����;��0@�0@�A����A�:��&�0��I�I�/�&�8�9���I�I�,�v�5�6�rc��[SS5$)Nzraster.hz/usr/include/cups)r�r�s r
r��CoreInstall.check_cups_imageos���*�&9�:�:rc�D�[RS5 [SS5$)NzChecking for HPLIP...z
hplip.confz/etc/hp)r>r?�locate_filesr�s r
rk�CoreInstall.check_hpliprs���	�	�)�*��L�)�4�4rc�B�[RS5 [S5$)NzChecking for libtool...r�)r>r?r�r�s r
r��CoreInstall.check_libtoolvs���	�	�+�,��-�.�.rc�\�[RS5 SSKJn g![a gf=f)NzChecking for PIL...r)�ImageTF)r>r?�PILr\r�)rQr\s  r
r0�CoreInstall.check_pil�s,���	�	�'�(�	�!����	��	�s��
+�+c�D�[RS5 [SS5$)NzChecking for cups-ddk...z
media.defsz/usr/share/cups/ppdc/�r>r?r�r�s r
r�CoreInstall.check_cupsddk�s���	�	�,�-��,�(?�@�@rc�D�[RS5 [SS5$)NzChecking for libavahi-devzclient.hz/usr/include/avahi-clientr`r�s r
r�CoreInstall.check_libavahi_dev�s���	�	�-�.��*�&A�B�Brc�F�[RS5 [SS5(a[SS5(ag[SS5(a[S	S
5(ag[SS5(ag[S
S5(a#[SS5(a[SS5(agg)NzChecking for PolicyKit...zPolicyKit.confz/etc/PolicyKitz0org.gnome.PolicyKit.AuthorizationManager.servicez/usr/share/dbus-1/servicesTz50-localauthority.confz#/etc/polkit-1/localauthority.conf.dz"org.freedesktop.PolicyKit1.servicez!/usr/share/dbus-1/system-serviceszorg.freedesktop.PolicyKit1.confz/etc/dbus-1/system.d�polkitdz/usr/lib/polkit-1zpolkit-agent-helper-1zpolkit.confz/usr/lib/sysusers.dFr`r�s r
r�CoreInstall.check_policykit�s����	�	�-�.��&�(8�9�9�j�I{�~Z�?[�?[��
�0�2W�
X�
X�]g�iM�Or�^s�^s��
�9�;Q�
R�
R��
�	�#6�
7�
7�J�G^�`s�<t�<t�zD�ER�Ti�zj�zj��rc��[RS5 [R"S5 g![a [RS5 gf=f)Nz$Checking 'cupsext' CUPS extension...r�TzeNOT FOUND OR FAILED TO LOAD! Please reinstall HPLIP and check for the proper installation of cupsext.F�r>r?r�
import_extr�r�r�s r
r5�CoreInstall.check_cupsext�sK���	�	�8�9�	����Y�'����	��I�I�w�
y��	���.�A�Ac��[RS5 [R"S5 g![a [RS5 gf=f)Nz$Checking 'hpmudext' I/O extension...r�TzfNOT FOUND OR FAILED TO LOAD! Please reinstall HPLIP and check for the proper installation of hpmudext.Frhr�s r
r8�CoreInstall.check_hpmudext�sK���	�	�8�9�	����Z�(����	��I�I�x�
z��	�rkc��[RS5 [R"S5 g![a [RS5 gf=f)Nz*Checking 'pcardext' Photocard extension...�pcardextTzfNOT FOUND OR FAILED TO LOAD! Please reinstall HPLIP and check for the proper installation of pcardext.Frhr�s r
�check_pcardext�CoreInstall.check_pcardext�sK���	�	�>�?�	����Z�(����	��I�I�x�
z��	�rkc��SnSHun[RSU-5 [US5nUH=n[R"SSU5n[R
"SU5nU(dM;Sn O U(dMu O U(d[RS
5 U$![a [RS	U-5 NOf=f)NF)�/etc/sane.d/dll.confz/etc/sane.d/dll.d/hpaioz/etc/sane.d/dll.d/hplipz'Checking for hpaio' in '%s'...�r�\srWr�Tz'%s' not found.z8'hpaio' not found in SANE conf files. Is SANE installed?)	r>r?�open�re�sub�match�IOError�infor�)rQr��pathrD�line�lineNoSpace�hpaiomatcheds       r
r:�CoreInstall.check_hpaio�s�����b�D��I�I�7�$�>�?�

���s�O���D�"$�&�&���D�"9�K�#%�8�8�G�[�#A�L�#�|� $�����u��c� ��I�I�P�Q�����
3����*�T�1�2�
3�s�B�"C�Cc�b�Sn[RSS5n[R"S5nSnUR	U5Gb�UR	U5RS5S-n[RRUS-5(Ga[RS5 [S	S
5nUH=n[R"SSU5n[R"S
U5n	U	(dM;Sn O UR5 U(Gd[R("S	5nUR R#5S-n
[RSU
-5 [$R&"X�R 5 [S	S5nUR+S
5 UR5 UR,S-nSU-n
UR R#5U
-n
[RSU
-5 [$R&"X�R 5 U$![an [RS5 UR R#5S-n
[RSU
-5 [$R&"X�R 5 GN�f=f![a [RS5 GNf=f)NF�dirs�home�(\S.*)share\/hplipr�lib/zsane/libsane-hpaio.so.1z-'Updating hpaio' in '/etc/sane.d/dll.conf'...rsrtrurWr�Tz8'/etc/sane.d/dll.conf' not found. Creating dll.conf fileztouch /etc/sane.d/dll.confzcmd=%szchmod 777 /etc/sane.d/dll.confza+i�zchmod %o /etc/sane.d/dll.conf)�sys_confrbrw�compilery�groupr�r|�existsr>r?rvrx�closerzr�r��
getAuthCmdrrl�stat�write�st_mode)
rQr��home_dir�pat�
usrbin_dir�
usrlib_dirrDr}r~r�cmd�st�actv_permissionss
             r
�update_hpaio�CoreInstall.update_hpaios'�����<�<���/���j�j�2�3���
��9�9�X��*����8�,�2�2�1�5��>�J��w�w�~�~�j�+D�D�E�E��	�	�I�J���3�S�9�A�!"��&(�f�f�U�B��&=��')�x�x���'E��'�<�$(�E�!�!"��G�G�I�����!7�8�B��*�*�5�5�7�:Z�Z�C��I�I�h��n�-��I�I�c�#3�#3�4�"� �!7��>��
����(����	�')�z�z�E�'9�$�9�<L�L�C��*�*�5�5�7�#�=�C��I�I�h��n�-��I�I�c�#3�#3�4����C�5��I�I�R�T��*�*�5�5�7�:V�V�C��I�I�h��n�-��I�I�c�#3�#3�4�5��,#�X��	�	�V�X�X�s%�%H�8J�A4J�J�J.�-J.c��[RS5 Sn[R"S5 SnU$![a [RS5 U$f=f)Nz-Checking 'scanext' SANE scanning extension...Fr�TzeNOT FOUND OR FAILED TO LOAD! Please reinstall HPLIP and check for the proper installation of scanext.rh)rQr�s  r
r=�CoreInstall.check_scanext1s]���	�	�A�B���	����Y�'�
�E�����	y��I�I�w�
y���	y�s�3�A�Ac��SS/n[R5H`n[R"[US5(dM*X!S'[[	[R[US55US'Us $ U$)NrWFrr)�SEC_DICTr�r2�all�map)rQr�r�s   r
�security_package_status�#CoreInstall.security_package_status=sh���U����=�=�?�C��y�y��#��q�)�*�*��a���s�4�9�9�h�s�m�A�.>�?�@��a����#��rc���[R"5nUS-nSU-nURR5U-n[RS5 [R"X@R5upVg)Nz/selinux/hplip.ppzsemodule -n -i zInstalling SELinux profile...)r��getcwdr�r�r>r{rrl)rQ�src_dir�profile_location�profile_cmdr�rzr{s       r
�selinux_install�CoreInstall.selinux_installIsb���)�)�+��"�%8�8��'�*:�:�����)�)�+�k�9�����0�1����3�(8�(8�9���rc��SuUlUlUlUR[:Xa�[
R"S[
R5n[SS5nUHnURS5(dMURU5nURS5UlURS5UlURS5UlURS	5n O UR5 WS
:wa[RS5 O;S[ R#S
SS5[$R&sUlUlUlURURUR4$![a= S[ R#S
SS5[$R&sUlUlUlNif=f![(a SuUlUlUlN�f=f)NrVz:AC_INIT\(\[(.*?)\], *\[(.*?)\], *\[(.*?)\], *\[(.*?)\] *\)z./configure.inrt�AC_INITrrrrr�zInvalid archive!rW�	configurezinternal-tag�0.0.0)r�r�r�r��MODE_INSTALLERrwr��
IGNORECASErv�
startswith�searchr�r�r>r�rzr�rb�prop�installed_versionr�)rQ�ac_init_pat�	config_in�c�	match_objr�s      r
rc�CoreInstall.get_hplip_versionQs���OY�L�� �$�"5�t�7L��9�9��&��*�*�Q�SU�S`�S`�b�K�
2� �!1�3�7�	�#�A��|�|�I�.�.�$/�$6�$6�q�$9�	�3<�?�?�1�3E��0�.7�o�o�a�.@��+�09����0B��-�(���q�1���#����!��7�?��I�I�0�1��
b�����[�.�%,�.�/3�/E�/E�F�U��(�$�*=�t�?T��'�'��)<�)<�d�>S�>S�S�S��7�
F�����[�.�%,�.�/3�/E�/E�F�U��(�$�*=�t�?T�
F��0�
b�Wa�T��(�$�*=�t�?T�
b�s%�E+�:F5�+AF2�1F2�5G�Gc��Sn0n[(a&URS=(a URSnO%URS=(a URSnURSUS'U(aSUS'SUS	'SUS
'SUS'SUS'S
US'OgURSUS'URS=(a UUS	'XCS
'URSUS'URSUS'URSUS'URSUS'URSUS'URSUS'URSUS'UR(a;S
US'SUS'SUS'SUS'UR(aS
US'SUS'OESUS'S
US'O:SUS'S
US'SUS'SUS'UR(aS
US'SUS'O
SUS'S
US'UR
buUR
HenUS:XaSUS'SUS'SUS'MUS:XaSUS'SUS'SUS'M1US:XaSUS'M>US:XaSUS'MKUS:XaSUS'MXUS:XdM`SUS'Mg URbuURHenUS:XaS
US'SUS'SUS'MUS:XaS
US'SUS'SUS'M1US:XaS
US'M>US:XaS
US'MKUS:XaS
US'MXUS:XdM`S
US'Mg URbUS UR--
nURS!S5nU(aURS":Xa	US#U--
nOURS":XaUS$-
nUS%UR--
nURS&S5(aURS":XaUS'-
nUR
bUR
HnS
X5'M	 URbURHnSX5'M	 UHnX5(a
US(U--
nMUS)U--
nM  URS*:XaUS+-
nURS,:XaUS--
nS.[R;a)[RR!S/5(aUS0-
nU$)1N�./configurer�r�r�r�z
network-buildFz
scan-buildz	fax-buildz
dbus-buildrSr�Tr�r�r�r�r�r�z	doc-buildr~r�libusb01_buildr��udev_sysfs_ruleszhpcups-installz
hpijs-installzfoomatic-ppd-installzfoomatic-drv-installzcups-ppd-installzcups-drv-install� --with-hpppddir=%sr��@� --libdir=%s� --libdir=/usr/lib64z --prefix=%sr|zZ --with-cupsbackenddir=/usr/lib64/cups/backend --with-cupsfilterdir=/usr/lib64/cups/filterz --enable-%sz
 --disable-%sr6z --enable-apparmor_buildr7z --enable-selinux_buildz	.internalztestcommon/z --enable-hplip_testing_flag)r�r�r�r�r�r�r�rlrjr�r�r�r�r`r�r|r�)rQ�bClassDriver�
configure_cmd�
configuration�
dbus_availr�r�s       r
r��CoreInstall.configurewsW��%�
��
��3��/�/���C� �2�2�>�B�
��/�/���B� �2�2�=�A�
�)-�)>�)>�y�)I�
�o�&��*/�M�,�'�).�M�+�&�*/�M�,�'�#(�M�%� �#(�M�%� �,0�M�.�)�*.�*?�*?��*G�M�,�'�#�4�4�U�;�J�
�
��
�*4�,�'�#'�#8�#8��#C�M�%� �#'�#8�#8��#C�M�%� �,0�,A�,A��- �M�.�)�&*�%:�%:�6�%B�
�k�"�%)�%:�%:�;�%G�
�k�"�*.�*?�*?�
�*K�
�&�'�,0�,A�,A��-�
�(�)����.2�M�*�+�-2�M�/�*�49�M�0�1�49�M�0�1����48�
�0�1�49�
�0�1�49�
�0�1�48�
�0�1�/4�M�*�+�-1�M�/�*�05�M�,�-�05�M�,�-����8<�
�4�5�8=�
�4�5�8=�
�4�5�8<�
�4�5��;�;�"��[�[���(�(�5:�M�/�2�<A�M�"8�9�<A�M�"8�9��/�)�6;�M�"2�3�8=�M�"4�5�8=�M�"4�5��0�0�<A�M�"8�9��0�0�<A�M�"8�9��,�,�8=�M�"4�5��,�,�8=�M�"4�5�!!�$�<�<�#��\�\���(�(�59�M�/�2�8=�M�"4�5�8=�M�"4�5��/�)�6:�M�"2�3�<A�M�"8�9�<A�M�"8�9��0�0�<@�M�"8�9��0�0�<@�M�"8�9��,�,�8<�M�"4�5��,�,�8<�M�"4�5�!"�$�<�<�#��2�T�\�\�A�A�M��.�.�}�e�D���4�<�<�2�-��^�{�;�;�M�
�\�\�R�
��3�3�M���$�*?�*?�?�?�
��#�#�$<�e�D�D����Y[�I[��y�y�M��;�;�"��[�[��#'�
� �!��<�<�#��\�\��#(�
� �"��A�����!�!3�3�
���1�!4�4�
�	�� � �J�.��7�7�M�� � �I�-��6�6�M��$�,�,�&�2�7�7�>�>�-�+H�+H��;�;�M��rc�~�SnUS-
nUSUR--
nURSS5nU(aURS:Xa	USU--
nOURS:XaUS-
nURS	5UlURbURS
:XaUS-
nOUS-
nURS
5UlURb-URS:XaUR
(aUS-
nOUS-
nOUS-
nURS5UlURcUS-
nOUS-
nURS5UlURcUS-
nOUS-
nURS5UlURcUS-
nOUS-
nURS5Ul	URbURS:XaUS-
nOUS-
nURS5Ul
URbURS:XaUS-
nOUS -
nURS!5UlURbURS:XaUS"-
nOUS#-
nUS$-
nU$)%Nr�z --prefix=/usrr�r�Fr�r�r�r}r-z --enable-qt3 --disable-qt4z
 --enable-qt4r�rz� --enable-hpcups-install --disable-cups-drv-install --enable-cups-ppd-install --disable-hpijs-install --disable-foomatic-drv-install --disable-foomatic-ppd-install --disable-foomatic-rip-hplip-installz� --enable-hpcups-install --enable-cups-drv-install --disable-cups-ppd-install --disable-hpijs-install --disable-foomatic-drv-install --disable-foomatic-ppd-install --disable-foomatic-rip-hplip-installz� --disable-hpcups-install --disable-cups-drv-install --disable-cups-ppd-install --enable-hpijs-install --enable-foomatic-drv-install --enable-foomatic-ppd-install --enable-foomatic-rip-hplip-installrvz) --disable-fax-build --disable-dbus-buildz' --enable-fax-build --enable-dbus-buildrxz --disable-network-buildz --enable-network-buildruz --disable-scan-buildz --enable-scan-buildr~z --enable-policykitz --disable-policykitrz --enable-libusb01_buildz --disable-libusb01_buildr�z --enable-udev_sysfs_rulesz --disable-udev_sysfs_rulesz --enable-doc-build)rlrjr�r}r�r�rvrxrur~rr�)rQr�r�s   r
�configure_html�CoreInstall.configure_htmls��%�
��)�)�
��.����=�=�
��.�.�}�e�D���4�<�<�2�-��^�{�;�;�M�
�\�\�R�
��3�3�M��2�2�<�@����?�?�&�4�?�?�e�+C��:�:�M��_�,�M��3�3�M�B������'�D�,<�,<��,A�����"l�l�
��"l�l�
��f�
f�M�!�5�5�o�F������%��H�H�M��F�F�M�!%�!9�!9�:M�!N����!�!�)��7�7�M��6�6�M�"�6�6�7G�H������&��4�4�M��3�3�M��1�1�+�>����>�>�%�$�.�.�A�*=��2�2�M��3�3�M��0�0��<��
��=�=�$����!�);��7�7�M��8�8�M�#�7�7�8I�J������+��0D�0D��0I��9�9�M��:�:�M��.�.�
��rc���US:XaJSn[RSU-5 URU5SSURR	5U-/$US:Xa/Sn[RSU-5 URU5SSU/$US:Xa/S	n[RSU-5 URU5SSU/$US
:XaJSn[RSU-5 URU5SSURR	5U-/$US:Xa0URU5SSURR	5S-/$URU5SSURR	5S-/$)
N�izmake installzcmnd:%sz
make cleanr��tz	make distrtzmake rpm�bzmake debrU)r>r{r�r�r�)rQr��option�cmnds    r
�
build_cmds�CoreInstall.build_cmdsEs����S�=�!�D��H�H�Y��%�&��N�N�<�0� ��D�,�,�7�7�9�D�@�B�
B��s�]��D��H�H�Y��%�&��N�N�<�0� ��D�"�
"��s�]��D��H�H�Y��%�&��N�N�<�0� ��D�"�
"��s�]��D��H�H�Y��%�&��N�N�<�0� ��D�,�,�7�7�9�D�@�B�
B��s�]��N�N�<�0� ���$�$�/�/�1�N�B�D�
D�
�N�N�<�0� ���$�$�/�/�1�N�B�D�
Drc���U(ahURURSURUS5=(d2 URURRUS5=(d U$URURSURRUS5=(d2 URURRUS5=(d U$![a Us$f=f�Nr[�rYr�rbr�r��value�rQr��default�
distro_vers    r
rj�CoreInstall.get_distro_ver_datams���	���|�|�D�$4�$4�5�j�A�*�M�Q�Q�RU�W[�\�M��L�L��!1�!1�2�6�6�s�D�A�M�EL�M��|�|�D�$4�$4�5�j�A�$�BU�BU�V�Z�Z�[^�`d�e�M��L�L��!1�!1�2�6�6�s�D�A�M�EL�M���	��N�	�s�A.C#�1A1C#�#C2�1C2c��URURRUS5=(d U$![a Us$f=fr)rYr�rbr�)rQr�r�s   r
�get_distro_data�CoreInstall.get_distro_datazsB��	��<�<�� 0� 0�1�5�5�c�4�@�K�G�K���	��N�	�s�14�A�Ac�*�U(a8URURSURUS5=(d U$URURSURRUS5=(d U$![a Us$f=fr�r�r�s    r
�get_ver_data�CoreInstall.get_ver_data�s���	���|�|�D�$4�$4�5�j�A�*�M�Q�Q�RU�W[�\�g�`g�g��|�|�D�$4�$4�5�j�A�$�BU�BU�V�Z�Z�[^�`d�e�p�ip�p���	��N�	�s�>B�AB�B�Bc��URS0U5nURU05nURS/5nURS/5nXV4$)Nr�rrrs)r�rb)rQ�
dependency�supported_distro_vrsr��dependency_datarrrss       r
�get_dependency_data�CoreInstall.get_dependency_data�sY���+�+��r�#7�9��)�-�-�j�"�=��"�&�&�z�2�6��"�&�&�z�2�6���!�!rc��[URR55nUR5 /n/n/nUH�nSnURUSHnURU(dMSnM U(dM?URU5up�U(a!UHn
X�;dM
UR
U
5 M U	(dM�URU	5 M� URS5nURU5 U(a6SRU5nUR
[R"U55 U(d[RS5 U$)NFrTra� zNo cmds/pkgs)�listrr��sortr�r�rN�extendrjr>r�catr>r�)rQr��commands_to_run�packages_to_install�overall_commands_to_runrU�includerT�pkgs�cmdsr5ras            r
�get_dependency_commands�#CoreInstall.get_dependency_commands�s#��
�$�#�#�(�(�*�
+��
���	��� ��"$���A��G��(�(��+�A�.���(�(��-�-�"�G�/��w�!�5�5�a�8�
���!�� �7�/�6�6�q�9�"��4�#�*�*�4�0�� �2�2�3D�E���&�&��7��"%�(�(�+>�"?��#�*�*�5�9�9�_�+E�F�&��I�I�n�%�&�&rc�\�UR[:g=(a UR[:g$r)r�r�r�r�r�s r
�distro_known�CoreInstall.distro_known�s"���{�{�n�,�Z��1D�1D�HZ�1Z�Zrc��UR[:XaFUR[:g=(a, UR[
:g=(a UR
SS5$g)NrpFT)r�r�r�r�r�r�r�r�s r
�distro_supported�CoreInstall.distro_supported�s[���9�9��&��;�;�.�0�I�T�5H�5H�L^�5^�I�cg�ct�ct�vA�CH�dI�
I�rc�H�SnUR5Hup#nUS-
nM
 U$�Nrr)�missing_required_dependencies)rQ�num_req_missingrU�descrTs     r
�'count_num_required_missing_dependencies�3CoreInstall.count_num_required_missing_dependencies�s/���� �>�>�@�L�A�S��q� �O�A��rc�H�SnUR5Hup#pEUS-
nM
 U$r�)�missing_optional_dependencies)rQ�num_opt_missingrUr��reqrTs      r
�'count_num_optional_missing_dependencies�3CoreInstall.count_num_optional_missing_dependencies�s0����!%�!C�!C�!E��A�S��q� �O�"F��rc#�z# �URURSH�nURU(dMURUSHhnURU[
(dM URU(aM6[RSU-5 X RU[U4v� Mj M� g7f)NrrzMissing required dependency: %s�
r�r�r�r�r�DEPENDENCY_REQUIRED_INDEXr�r>r?�DEPENDENCY_DISPLAY_INDEX�rQ�compr�s   r
r��)CoreInstall.missing_required_dependencies�s�����O�O�D�$;�$;�<�Q�?�D��$�$�T�*�*��<�<��-�a�0�C��(�(��-�.G�H�H�#�5�5�c�:�:��I�I�&G�#�&M�N�"%�'8�'8��'=�>V�'W�Y]�"]�]�
1�@�s�2B;�.B;�*B;�;B;c#�# �URURSH�nURU(dMURUSHynURU[
(aM URU(aM6[RSU-5 X RU[URUSU4v� M{ M� g7f)Nrr�Missing optional dependency: %srrrs   r
r��)CoreInstall.missing_optional_dependencies�s�����O�O�D�$;�$;�<�Q�?�D��$�$�T�*�*��<�<��-�a�0�C��,�,�S�1�2K�L�L�#�5�5�c�:�:��I�I�&G�#�&M�N�"%�'8�'8��'=�>V�'W�Y]�Yj�Yj�kn�Yo�pq�Yr�tx�"x�x�
1�@�s�2C�.C�*C�ACc�.�SnURURSH�nURS5S:wa!URUR5S:XaM9URUS(aMRSnUR
U(dSnU"X0RUSU5UR
U'UR
U(dM�URUSH6nURU(aM[RSU-5 US-
nM8 M� U$)	Nrr�gui_r��y�nrr)	r�r�r�r}r�r�r�r>r?)rQ�answer_callbackr�rTr�rUs      r
�select_options�CoreInstall.select_options�s�����?�?�4�#:�#:�;�A�>�C��x�x���2�%�#�(�(�4�?�?�*C�r�*I���<�<��$�Q�'�'����,�,�S�1�!�G�-<����c�*�1�-�w�.8��%�%�c�*��(�(��-�-�!�\�\�#�.�q�1��#�5�5�a�8�8��I�I�&G�!�&K�L�+�q�0�O�2�?�$�rc�f�[R"S5(ag[RS5 g)N�wgetTzwget is not installedF�rrr>r?r�s r
r�CoreInstall.check_wget�s$���;�;�v�����I�I�-�.�rc�f�[R"S5(ag[RS5 g)Nzavahi-browseTzavahi-browse is not installedFrr�s r
r�CoreInstall.check_avahi_utilss$���;�;�~�&�&���I�I�5�6�rc�"�URSSU5n[RU5 U(a`SnUHWn[R"XPR
5upgUS:wa[R
SU-5 UbU"USU-5 US-
nMY gg)Nrbrr�An error occurred running '%s'zPre-install step %dTF�rjr>r?rrlr�r��rQrvr��pre_cmdr�r�rzr{s        r
�run_pre_install�CoreInstall.run_pre_installs����*�*�+<�d�J�O���	�	�'����A���!&���3�0@�0@�!A����Q�;��H�H�=��C�D��'��S�"7�!�";�<��Q�����rc��URSSU5n[RU5 [U5 U(a�Sn[R
"X0R5upV[SU;SU;SU;SU;/5(aUS:Xa[RSU-5 OUS:wa[RSU-5 UbU"US	U-5 US-
ngg)
Nr�r�yum�zypper�dnf�pacmanrrz hp_libs_remove step %d)	rjr>r?�printrrlr��anyr�)rQrvr��
hp_lib_rm_cmdr�rzr{s       r
�remove_default_hplip_libs�%CoreInstall.remove_default_hplip_libs*s����0�0�1E�t�Z�X�
��	�	�-� �
�m����A�"�Y�Y�}�6F�6F�G�N�F��E�]�*�8�}�+D�e�}�F\�^f�jw�^w�x�y�y��Q�;��H�H�=�
�M�N���Q�;��H�H�=�
�M�N��#���(A�A�(E�F�
��F�A�rc��URSSU5n[RU5 U(a�SnUH�n[R"XPR
5upg[
SU;SU;SU;SU;/5(aUS:Xa[RSU-5 OUS:wa[RSU-5 UbU"US	U-5 US-
nM� gg)
Nrcrr"r#r$r%rrzPre-depend step %d)rjr>r?rrlr�r'r�rs        r
�run_pre_depend�CoreInstall.run_pre_depend>s����*�*�+;�T�:�N���	�	�'����A���!&���3�0@�0@�!A�������h�#�o�u��|�X�QT�_�U�V�V���{����!A�C�!G�H����{����!A�C�!G�H��'��S�"6��":�;��Q����rc�"�URSSU5n[RU5 U(a`SnUHWn[R"XPR
5upgUS:wa[R
SU-5 UbU"USU-5 US-
nMY gg)NrdrrrzPost-depend step %dr)rQrvr��post_cmdr�r�rzr{s        r
�run_post_depend�CoreInstall.run_post_dependQs����+�+��t�Z�1���	�	�(����A���!&���3�0@�0@�!A����Q�;��H�H�=��C�D��'��S�"7�!�";�<��Q��� �rc�^�SSKJn U(aURSSU5nOURSSU5n[R	U5 U(a]SnUHTnUbU"USU-5 [
R"X`R5upxUS:wa[RS5 US-
nMV gg)Nrr�rfrerzScanjet-depend step %dzWFailed to install this Scanjet dependency package. Some Scanjet features will not work.)	r3r�rjr>r?rrlr�r�)	rQrvr�r��scanjet_cmdr�r�rzr{s	         r
�run_scanjet_depend�CoreInstall.run_scanjet_dependbs���#���2�2�3K�T�S]�^�K��2�2�3G��z�Z�K��	�	�+����A�"���'��S�":�Q�">�?�!&���3�0@�0@�!A����A�:��H�H�v�w��Q���#�
�rc��/nURSSU5(a,URURR5S-5 U$)NrnFz!python ./installer/fix_symlink.py)rjrNr�r�)rQr�r�s   r
�	pre_build�CoreInstall.pre_build{sI�����#�#�$5�u�j�I�I��K�K��(�(�3�3�5�;�<�
=��rc��SnURU5H9n[R"X@R5upVUbU"USU-5 US-
nM; g)NrzPre-build step %d)r7rrlr��rQrvr�r�r�rzr{s       r
�
run_pre_build�CoreInstall.run_pre_build�sO��
���>�>�*�-�C�"�Y�Y�s�,<�,<�=�N�F��#���1�A�5�6�
��F�A�.rc��SnURU5H9n[R"X@R5upVUbU"USU-5 US-
nM; g)NrzPost-build step %d)�
post_buildrrlr�r:s       r
�run_post_build�CoreInstall.run_post_build�sO��
���?�?�:�.�C�"�Y�Y�s�,<�,<�=�N�F��#���2�Q�6�7�
��F�A�/rc���/nUR(aUURS(aAURURR	5S-5 [
R
S5 [SS/5n[R"SS5nUHWn[
R
SU<S	X5<S
35 USU--nURURR	5U-5 MY U$)Nr~zsh /etc/init.d/dbus reloadz4Will reload DBUS configuration for PolicyKit supportr�hpssd�killT�Found � for � process� %s)
r�r�rNr�r�r>r?�
get_ps_pidrr)rQr�r��pid_list�kill_cmdrxrCs       r
r>�CoreInstall.post_build�s��������� 5� 5�k� B��K�K��(�(�3�3�5�4�5�
6��I�I�L�M��|�W�5�6���;�;�v�t�,���C��I�I�3��
�F�G��e�c�k�)�D��K�K��(�(�3�3�5��<�=��
�rc��SnURR5U-n[R"X R5up4g)Nz{rm -rf .libs/libhpipp.so.0.0.1T .libs/libsane-hpaio.so.1.0.0T .libs/libhpmud.so.0.0.6T .libs/hpmudext.soT .libs/cupsext.soT)r�r�rrl)rQ�run_cmdr�rzr{s     r
�
remove_soT�CoreInstall.remove_soT�s=��P�����)�)�+�g�5�����3�(8�(8�9���rc���SnURS5nU(a\Ub	U"US5 [R"X0R5upEUS:Xa(UR	5UlUR
(dSnU$)NTrhzRemoving old HPLIP versionrF)rjrrlr�rkr�)rQrv�failedrhrzr{s      r
�remove_hplip�CoreInstall.remove_hplip�sp�����3�3�4F�G����#��)�+G�H�"�Y�Y�'7�9I�9I�J�N�F���{�%)�%5�%5�%7��"��)�)�"�F��
rc�v�URR5 URR5S:Xagg)NrWFT)r��
clearPassword�getPasswordr�s r
�check_password�CoreInstall.check_password�s1�����&�&�(����'�'�)�R�/��rc���Sn[[R55H.up4US:�a O%[R"X15(dM*X$-
nM0 [
R
SU-5 US:�$)zZ
Example code from David Mertz' Text Processing in Python.
Released in the Public Domain.
gg�������?zFile error page score: %fg�?)r��err_pats�itemsrwr�r>r?)rQ�page�	err_scorer��probs     r
�isErrorPage�CoreInstall.isErrorPage�sa��
�	��h�n�n�.�/�I�C��3����y�y��#�#��!�	�	0�	�	�	�-��;�<��4��rc�.�UR[:wagg�NT)r�r�r�s r
�validate_disto�CoreInstall.validate_disto�s���;�;�.�(��rc��grbr�r�s r
�validate_distro_version�#CoreInstall.validate_distro_version�s��rc��g)NFr�)rQr�s  r
�is_auto_installer_support�%CoreInstall.is_auto_installer_support�s��rc��Sn[R"5S:waSn[RSSS5n[RSSS	5nUS:Xa[RS
5 gU[:wa-[R"SU-SS
/S
5upgU(aUS
:XagURS5n[RSU-5 [RS5 [RSS[5n	[R"S5up�U
SLa�U[:wa?[R"SSS
/S5upgU(aUS
:Xa[RS5 g[!S/5n[R""SS5n
UHan[RSU<SX�<S35 U
SU--n[R$"U5unn[RSU<SU<35 Mc [R"S5unn[R"S5unnUSLdUSLa[RS5 gU(aAUR'5unnU(a[(R*"S5 UR-U5 SnU(aUR.R15U-n[R$"UUR.5up�UbPUR35H<nUR5S 5S!:waM[R6"UUR.U5 M> UR95nUS"(aT[RS#5 [:USS"Vs/sH%n[R6"UUR.U5PM'  n[<R>"S$5nURAU5nSnUb�URCS"5S%-nURCS"5S&-nSn[RD"[FU5nU[IU5:a;[R6"UUUR.U5 US"-
nU[IU5:aM;Sn[RD"[JU5n U[IU 5:a;[R6"U UUR.U5 US"-
nU[IU 5:aM;Sn!U[:wa6U	[:wa,[R"S'SS
/S5upgU(aUS:XaSn!OSn!U!SLa[RD"[LU5n"O/n"SnU[IU"5:a;[R6"U"UUR.U5 US"-
nU[IU"5:aM;[RSS(S5n#U#(a"[R6"U#UR.U5 [RD"[N5n$SnU[IU$5:a;[R6"U$UUR.U5 US"-
nU[IU$5:aM;[RD"[PS)5n%U%H%n&[R6"U&UR.U5 M' [RD"[PS*5n%U%H%n&[R6"U&UR.U5 M' S+nUR.R15U-n[R$"UUR.U5up�U
S:XaCUR35n'U'H-n(U(U:wdM[R6"U(UR.U5 M/ [RHxn)U)(dMS,U)-nUR.R15U-n[R$"UUR.U5up�U
S:wdMZ[RUS-U)<S.U<S/35 Mz U!S:Xa�Sn[RD"[VU5n*U[IU*5:a;[R6"U*UUR.U5 US"-
nU[IU*5:aM;Sn[RD"[X5n+U[IU+5:a;[R6"U+UUR.U5 US"-
nU[IU+5:aM;[R6"X@R.U5 Ub'US0-n,[R6"U,UR.U5 [RS15 gs snf)2NFrTr�r�rWr�r`r�zHPLIP is not installed.z4
Are you sure to uninstall HPLIP-%s (y=yes, n=no*)?:rrrhzhplip_remove_cmd =%s zStarting uninstallation...�plugin�	installedrzs
Some HPLIP applications are running. Press 'y' to close and proceed or Press 'n' to quit uninstall (y=yes*, n=no):zLQuiting HPLIP unininstallation. Close application(s) manually and run again.rCrDrErFrGzsts =z out=rzQFailed to close HP-Toolbox/HP-Systray. Close manually and run hp-uninstall again.zfind /home -name .hplipzfind:r�rzRemoving Security Profilesr�zbin/r�z?
Do you want to remove HP proprietary plug-ins (y=yes*, n=no)?:rz/etc/udev/rules.dz/lib/udev/rules.dzfind /usr -type d -name hplipz"find /usr -type f -name %s -deletezFailed to delete z library  [r�zhp-unistallz!HPLIP uninstallation is completed)-r��getuidr�rbr>r��NON_INTERACTIVE_MODEr�enter_choicer�r?r{�	sys_state�PLUGIN_NOT_INSTALLEDr�Is_Process_RunningrHrrl�close_package_managersr�r�rRr�r��
splitlinesr��remover�r�rwr�ryr��
expandList�	BINS_LISTr��	LIBS_LIST�
HPLIP_LIST�
FILES_LIST�
RULES_LIST�HPLIP_EXT_LISTr��PLUGIN_LIST�PLUGIN_STATE)-rQr�rv�	checkSudor�r`�ok�choicerh�plugin_staterzr{rIrJrxrC�sts�out�toolbox_status�systray_status�	User_exit�Is_pkg_mgr_runningr�r5�
package_strDr�rr�r��cnt�BINS_LIST_FULL�LIBS_LIST_FULL�remove_plugins�HPLIP_LIST_FULLrl�FILES_LIST_FULL�RULES_LIST_FULL�fl�
hplip_folders�hplip_d�ext_f�PLUGIN_LIST_FULL�PLUGIN_STATE_FULL�hp_uninstalls-                                             r
�	uninstall�CoreInstall.uninstall�s����	�
�9�9�;�!���I��<�<����3���,�,�w�	�7�;���r�>��I�I�/�0���'�'��)�)�G�'�Q�TW�Y\�S]�_b�d�J�B���3����/�/�0B�C���	�	�)�,<�<�=����-�.� �}�}��k�#7�9���1�1�,�?����T�>��+�+� �-�-�K�NQ�SV�MW�Y\�]�
���V�s�]��H�H�f�h� �"�<�.�1�H��{�{�6�4�0�H����	�	�s�H�M�J�K��%�#�+�-�� �9�9�T�?���S��	�	�c�3�7�8�	 �"'�!9�!9�,�!G����!&�!9�!9�,�!G�����T�!�^�t�%;��I�I�c�
e���,0�,G�,G�,I�)�I�)����������h�'�(����"�"�-�-�/�#�5�C����3��(8�(8�9������&�&�(���6�6�'�?�b�(�����Q�� 0� 0�)�<�	)��1�1�3�
��a�=��I�I�2�3��z�!�}�-�a�0�
2�0���\�\�!�T�-�-�y�
9�0�
2��j�j�2�3���y�y��"���
������A���/�J����A���/�J��C�"�-�-�i��D�N���N�+�+����^�C�0�$�2B�2B�I�N��q�����N�+�+��C�"�-�-�i��D�N���N�+�+����^�C�0�$�2B�2B�I�N��q�����N�+�+����'�'�L�<P�,P��)�)�R�UX�Z]�T^�`c�e�J�B��f��m�!%���!�N��U�"�#�.�.�z�8�D�O� �O����C��(�(��L�L���-�t�/?�/?��K��1�H�C��C��(�(�
�,�,�v�u�b�1����L�L��$�"2�"2�I�>� �*�*�:�6�����C��(�(��L�L���-�t�/?�/?��K��1�H�C��C��(�(�
 �*�*�:�7J�K��!�B��L�L��T�-�-�y�9�"� �*�*�:�7J�K��!�B��L�L��T�-�-�y�9�"�.�����)�)�+�c�1�����3��(8�(8�)�D����Q�;�"�-�-�/�M�(���h�&��L�L��$�*:�*:�I�F�)�
$�E��u�:�U�B���&�&�1�1�3�c�9��!&���3��0@�0@�)�!L����Q�;��H�H�?D�f�M�O�
$��T�!��C�$�/�/��X�F����,�-�-����-�c�2�!�-�-�y�:��q�����,�-�-�
�C� %� 0� 0�� >����-�.�.����.� �"�#'�#3�#3�Y�@��q�����-�.�.�

�L�L��#3�#3�Y�?��!�%�
�5�L��L�L��t�'7�'7��C����4�5���U
2s�,cc��SnSn[R"UR5upEU(GaU[:Xa�[R
"SU-/SQS5upgU(dgUS:Xa[RS5 O�US:Xa�[R"S	U-S
5uphU(dgU(a]URR5SU--n	[R"X�R5up�U
S:wa[RS
5 O[RS5 O,[R"UR5upEU(aGMU(aSnX#4$)NFz�A package manager '%s' appears to be running. Please quit the package manager and press enter to continue (i=ignore, r=retry*, f=force, q=quit) :)r�rt�qrDrt)TTr�zCIgnoring running package manager. Some package operations may fail.rDz#
Force quit of package manager '%s'rzkill %srzBFailed to kill process. You may need to manually quit the program.�GUI is not yet supportedT)
rrgr`r�rrpr>r��enter_yes_nor�r�rlr�)rQ�MODEr�r�rxryr��
user_input�ansr�rzr{s            r
rt�"CoreInstall.close_package_managers�sD���	�"���*�*�4�+<�+<�=�����'�'�!$�!1�!1�h�kr�r�tH�JM�"N����%���$��H�H�]�_����$�!�.�.�>��H�#�O�G�B��)��"�.�.�9�9�;�y�3��O��).���3�8H�8H�)I���!�Q�;��I�I� d�f���	�	�4�5�� �.�.�t�/@�/@�A�L�C�3�c�6�!%���,�,rc	��SnU[:XGa/U(aU(dg[R"SU-SS/S5upVU(a�US:Xa�[R"SS5nU(a|U<SU<S[
R<3nURR5U-n[RSU-5 [R"X�R5up�U	S	:XaSnU$[RS
5 U$[R[RSU<S[
R<S
355 U$[RS5 U$)NFz;Do you want to add missing groups %s to user?(y=yes*, n=no)rr�usermodTr�z	cmd =  %srzusermod command not found.zPlease add z groups to z userr�)r�rrprrr��usernamer�r�r>r?rlr�r{�bold)rQ�missing_user_groups�missing_user_groups_cmdr��ret_valr�r��usermod_pathr�r�r�s           r
�add_groups_to_user�CoreInstall.add_groups_to_user�s �����#�#�&�.E�� �-�-�M�Pc�c�fi�kn�eo�qt�v�N�B��j�C�'�$�{�{�9�d�;���$�&=�t�}�}�N�C��*�*�5�5�7�#�=�C��I�I�k�C�/�0�$�y�y��.>�.>�?�H�C��a�x�"&�����I�I�:�;���������#6��
�
�#G�H�I�
��
�I�I�0�1��rc���SnSnU[:XGa=[R"SSS/S5upEU(GaUS:wGa[RRU5(d[RSU-5 gURR5SU--n[RSU-5 [R"X`R5upxUS	:XaS
n[RRS5(aMSnURR5U-n[RSU-5 [R"U5 U$[RS
5 U$)NFz/etc/selinux/configzxSELinux is currently enabled in your system. Device may not work properly. Do you want to disable SELinux?(y=yes, n=no*)rrzFile %s is not foundz#vi -c %s/enforcing$/disabled -c wq zcmd= %s rTz/selinux/enforcezecho 0 >/selinux/enforcer�)r�rrpr�r|r�r>r?r�r�rrlr�executer�)	rQr�r��SELinux_filer�r�r�r�r�s	         r
�disable_SELinux�CoreInstall.disable_SELinux	s?����,���#�#� �-�-�K�NQ�SV�MW�Y\�]�N�B��j�C�'��w�w�~�~�l�3�3��I�I�4�|�C�D� ��&�&�1�1�3�9�L�H�J���	�	�*�s�*�+� �9�9�S�*:�*:�;����!�8�"�G��7�7�>�>�"4�5�5�4�C��*�*�5�5�7�#�=�C��I�I�j�3�.�/��$�$�S�)���
�I�I�0�1��rc��URS5nURS5n0n[U5(a0UH*nU(a[R"U5UU'M%UUU'M, [U5(a0UH*nU(a[R"U5UU'M%UUU'M, [U5S:Xa%[U5S:Xa[RS5 gg)NrarcrzNo missing dependencies)rjr�rr�r>r{)	rQr��required_dependencies�optional_dependencies�missing_cmdrarc�overall_install_cmdsr�s	         r
�install_missing_dependencies�(CoreInstall.install_missing_dependencies	s����2�2�3D�E���1�1�2B�C��!���$�%�%�'<�#�"�/4�y�y��/I�)�+�-�0C�)�+�-�(=��$�%�%�'<�#�"�/4�y�y��/I�)�+�-�0C�)�+�-�(=��#�$��)�c�+�.>�!�.C��H�H�.�/��r)+r�r�r�rnrr�r�r�r�r�rYrPrmr�r�r�rvr�r@r�r�rr�r�rxr�r`r�r~rlr�rur�r�r�ror�r�r}r�rLr�r�r)rX)NN)gr@rO�__qualname__�__firstlineno__r�r�rVr|r�rfr�rdrer�rOr�r�rr�r�rr�r�r�rr�rr2rr,rr	r
rrr$r(r"r&r?r.r r*rDrr�r�r�rkr�r0rrrr5r8rpr:r�r=r�r�rcr�r�r�rjr�r�r�r�r�r�r�rr�r�rrrrr)r,r0r4r7r;r?r>rNrRrWr_rcrfr�rir�rtr�r�r��__static_attributes__r�rr
rQrQ�sD��*�4D�!�D=�L[�z-�,� �36�j>9�@5�,f!�V
�
�!�Q�1��"+�0�@�A�C�K��"7��$�c�.�6�)�	�	�	�	�
����2��.A��;�5�/�1�d�A�
C�
�	�	�	��.,�\
�
�:�$T�LJ�X@�D&D�P��
�"�!'�F[����
^�
y��.��
��(�(�&�"�2����(:��"� �"��8J��.��w�B+;�"-�ZUe��F$4��<1A�XZ�rt�CE�rrQ)mr�r��os.pathrwrs�grp�pwd�tarfiler�r2rrr�r�base.g�
base.codesrrrrrr�dcheckr�r�r��
MODE_CHECK�MODE_CREATE_DOCSr�r�r�r�r�r�r�rrrZrxryr}r{r|rzr~r�OK_PROCESS_LIST�CONFIGURE_ERRORSr�r�r�r6r;r�r�r�r�r�r�r�r�rrrrrrrrrrrrrrrr!r#r%r'r)r+r-r/�PIP_STR�TESS_STR�
TESSEROCR_STR�IMUTILS_STR�
OPENCV_STR�ZBAR_STR�	LEPTO_STR�
PYPDF2_STRr1r4r7r9r<r>r�r�r
�APPARMOR_DIR�SELINUX_DIRr��	functoolsr9rI�objectrQr�rr
�<module>r�s��.�	��	��
�
����
&��+���9�9��������
�
�����
�	�
�	�������"#������
�:�D��:�D��(�$��
/���
3�D�	�

3�D��
8��
�
3�D��
.�t��
-�d��
.�t��
-�d��
6�t��
;�D��
;�D��
>�t�� 
"�4�!��(
C�	�
�	�N��\�
�w�
�@�
�A��)�*����
�A�.���)���-���-���0�	�
�/���0�
��.���*���(���0���7���+���.���3���,�� �/�!�"�*�#��*��
�
�
�
�	����#��;��/��J��:��
0��C��
1�
�	N��
 ��7��$��:��9�	�4�
�&��
:�
�M��
8�
����	�
B�
�X�	�4��
@��4��
@��
5�
�"�	�
6�
�
Y��
-��5��X�
�F��
1�
�*��6�	�
.�
�4�
����� �	�#��	��
 ����
�	� ��4��%�(I�Ko�'p�q�#�&]�%^�_���
'�(�'�S!�&�S!��C�&��&�&��Z�
�	�
�s#�F�6F�
F�F�	F+�*F+

Filemanager

Name Type Size Permission Actions
__init__.cpython-313.pyc File 135 B 0644
core_install.cpython-313.pyc File 100.15 KB 0644
dcheck.cpython-313.pyc File 14.98 KB 0644
pluginhandler.cpython-313.pyc File 24.41 KB 0644
Filemanager