TimeTrex/interface/html5/dist/employees-user_contact-UserContactViewController.bundle.js

1 line
47 KiB
JavaScript

"use strict";(self.webpackChunktimetrex=self.webpackChunktimetrex||[]).push([["employees-user_contact-UserContactViewController"],{6738:(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"UserContactViewController\": () => (/* binding */ UserContactViewController)\n/* harmony export */ });\n/* provided dependency */ var _ = __webpack_require__(9050);\n/* provided dependency */ var $ = __webpack_require__(9755);\nclass UserContactViewController extends BaseViewController {\n\tconstructor( options = {} ) {\n\t\t_.defaults( options, {\n\t\t\tel: '#user_contact_view_container',\n\n\n\n\t\t\tuser_api: null,\n\t\t\tcompany_api: null,\n\t\t\tethnic_group_api: null,\n\t\t\tstatus_array: null,\n\t\t\ttype_array: null,\n\t\t\tsex_array: null,\n\t\t\tcountry_array: null,\n\t\t\tprovince_array: null,\n\t\t\te_province_array: null\n\t\t} );\n\n\t\tsuper( options );\n\t}\n\n\tinit( options ) {\n\t\t//this._super('initialize', options );\n\t\tthis.edit_view_tpl = 'UserContactEditView.html';\n\t\tthis.permission_id = 'user_contact';\n\t\tthis.viewId = 'UserContact';\n\t\tthis.script_name = 'UserContactView';\n\t\tthis.table_name_key = 'user_contact';\n\t\tthis.context_menu_name = $.i18n._( 'Employee Contacts' );\n\t\tthis.navigation_label = $.i18n._( 'Employee Contact' );\n\t\tthis.api = TTAPI.APIUserContact;\n\t\tthis.user_api = TTAPI.APIUser;\n\t\tthis.company_api = TTAPI.APICompany;\n\t\tthis.ethnic_group_api = TTAPI.APIEthnicGroup;\n\t\tthis.document_object_type_id = 115;\n\n\t\tthis.render();\n\n\t\tif ( this.sub_view_mode ) {\n\t\t\tthis.buildContextMenu( true );\n\t\t} else {\n\t\t\tthis.buildContextMenu();\n\t\t}\n\n\t\t//call init data in parent view\n\t\tif ( !this.sub_view_mode ) {\n\t\t\tthis.initData();\n\t\t}\n\t}\n\n\tgetCustomContextMenuModel() {\n\t\tvar context_menu_model = {\n\t\t\texclude: ['copy'],\n\t\t\tinclude: []\n\t\t};\n\n\t\treturn context_menu_model;\n\t}\n\n\tinitOptions() {\n\t\tvar options = [\n\t\t\t{ option_name: 'status', api: this.api },\n\t\t\t{ option_name: 'type', api: this.api },\n\t\t\t{ option_name: 'sex', api: this.api },\n\t\t\t{ option_name: 'country', field_name: 'country', api: this.company_api },\n\t\t];\n\n\t\tthis.initDropDownOptions( options );\n\t}\n\n\tonFormItemChange( target, doNotValidate ) {\n\t\tthis.setIsChanged( target );\n\t\tthis.setMassEditingFieldsWhenFormChange( target );\n\t\tvar key = target.getField();\n\t\tswitch ( key ) {\n\t\t\tcase 'country':\n\t\t\t\tvar widget = this.edit_view_ui_dic['province'];\n\t\t\t\twidget.setValue( null );\n\t\t\t\tbreak;\n\t\t}\n\n\t\tthis.current_edit_record[key] = target.getValue();\n\n\t\tif ( key === 'country' ) {\n\t\t\tthis.onCountryChange();\n\t\t\treturn;\n\t\t}\n\n\t\tif ( !doNotValidate ) {\n\t\t\tthis.validate();\n\t\t}\n\t}\n\n\tsetSelectLayout() {\n\t\tif ( this.sub_view_mode ) {\n\t\t\tsuper.setSelectLayout( ['employee_first_name', 'employee_last_name', 'title', 'user_group', 'default_branch', 'default_department'] );\n\t\t} else {\n\t\t\tsuper.setSelectLayout();\n\t\t}\n\t}\n\n\tbuildEditViewUI() {\n\t\tsuper.buildEditViewUI();\n\n\t\tvar $this = this;\n\n\t\tvar tab_model = {\n\t\t\t'tab_employee_contact': { 'label': $.i18n._( 'Employee Contact' ), 'is_multi_column': true },\n\t\t\t'tab_attachment': true,\n\t\t\t'tab_audit': true,\n\t\t};\n\t\tthis.setTabModel( tab_model );\n\n\t\tthis.navigation.AComboBox( {\n\t\t\tapi_class: TTAPI.APIUserContact,\n\t\t\tid: this.script_name + '_navigation',\n\t\t\tallow_multiple_selection: false,\n\t\t\tlayout_name: 'global_user_contact',\n\t\t\tnavigation_mode: true,\n\t\t\tshow_search_inputs: true\n\t\t} );\n\n\t\tthis.setNavigation();\n\n\t\tvar tab_employee_contact = this.edit_view_tab.find( '#tab_employee_contact' );\n\t\tvar tab_employee_contact_column1 = tab_employee_contact.find( '.first-column' );\n\t\tvar tab_employee_contact_column2 = tab_employee_contact.find( '.second-column' );\n\n\t\tthis.edit_view_tabs[0] = [];\n\n\t\tthis.edit_view_tabs[0].push( tab_employee_contact_column1 );\n\t\tthis.edit_view_tabs[0].push( tab_employee_contact_column2 );\n\n\t\t// tab_employee_contact column1\n\n\t\t// Employee\n\t\tvar form_item_input = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\t\tform_item_input.AComboBox( {\n\t\t\tapi_class: TTAPI.APIUser,\n\t\t\tallow_multiple_selection: false,\n\t\t\tlayout_name: 'global_user',\n\t\t\tfield: 'user_id',\n\t\t\tset_empty: true,\n\t\t\tshow_search_inputs: true\n\t\t} );\n\n\t\tvar default_args = {};\n\t\tdefault_args.permission_section = 'user_contact';\n\t\tform_item_input.setDefaultArgs( default_args );\n\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Employee' ), form_item_input, tab_employee_contact_column1, '' );\n\n\t\t// Status\n\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.COMBO_BOX );\n\t\tform_item_input.TComboBox( {\n\t\t\tfield: 'status_id'\n\t\t} );\n\t\tform_item_input.setSourceData( $this.status_array );\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Status' ), form_item_input, tab_employee_contact_column1 );\n\n\t\t// Type\n\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.COMBO_BOX );\n\t\tform_item_input.TComboBox( {\n\t\t\tfield: 'type_id'\n\t\t} );\n\t\tform_item_input.setSourceData( $this.type_array );\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Type' ), form_item_input, tab_employee_contact_column1 );\n\n\t\t// First Name\n\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.TEXT_INPUT );\n\t\tform_item_input.TTextInput( {\n\t\t\tfield: 'first_name',\n\t\t\twidth: 200\n\t\t} );\n\t\tthis.addEditFieldToColumn( $.i18n._( 'First Name' ), form_item_input, tab_employee_contact_column1 );\n\n\t\t// Middle Name\n\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.TEXT_INPUT );\n\t\tform_item_input.TTextInput( {\n\t\t\tfield: 'middle_name',\n\t\t\twidth: 200\n\t\t} );\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Middle Name' ), form_item_input, tab_employee_contact_column1 );\n\n\t\t// Last Name\n\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.TEXT_INPUT );\n\t\tform_item_input.TTextInput( {\n\t\t\tfield: 'last_name',\n\t\t\twidth: 200\n\t\t} );\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Last Name' ), form_item_input, tab_employee_contact_column1 );\n\n\t\t// Gender\n\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.COMBO_BOX );\n\t\tform_item_input.TComboBox( {\n\t\t\tfield: 'sex_id'\n\t\t} );\n\t\tform_item_input.setSourceData( $this.sex_array );\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Gender' ), form_item_input, tab_employee_contact_column1 );\n\n\t\t// Ethnicity\n\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\t\tform_item_input.AComboBox( {\n\t\t\tapi_class: TTAPI.APIEthnicGroup,\n\t\t\tfield: 'ethnic_group_id',\n\t\t\tset_empty: true,\n\t\t\tallow_multiple_selection: false,\n\t\t\tlayout_name: 'global_ethnic_group',\n\t\t\tshow_search_inputs: true\n\t\t} );\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Ethnicity' ), form_item_input, tab_employee_contact_column1 );\n\n\t\t// Home Address(Line 1)\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.TEXT_INPUT );\n\t\tform_item_input.TTextInput( {\n\t\t\tfield: 'address1',\n\t\t\twidth: 200\n\t\t} );\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Home Address (Line 1)' ), form_item_input, tab_employee_contact_column1 );\n\n\t\t// Home Address(Line 2)\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.TEXT_INPUT );\n\t\tform_item_input.TTextInput( {\n\t\t\tfield: 'address2',\n\t\t\twidth: 200\n\t\t} );\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Home Address (Line 2)' ), form_item_input, tab_employee_contact_column1 );\n\n\t\t// City\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.TEXT_INPUT );\n\t\tform_item_input.TTextInput( {\n\t\t\tfield: 'city',\n\t\t\twidth: 200\n\t\t} );\n\t\tthis.addEditFieldToColumn( $.i18n._( 'City' ), form_item_input, tab_employee_contact_column1 );\n\n\t\t// Country\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.COMBO_BOX );\n\t\tform_item_input.TComboBox( {\n\t\t\tfield: 'country'\n\t\t} );\n\t\tform_item_input.setSourceData( $this.country_array );\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Country' ), form_item_input, tab_employee_contact_column1 );\n\n\t\t// Province/State\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.COMBO_BOX );\n\t\tform_item_input.TComboBox( {\n\t\t\tfield: 'province'\n\t\t} );\n\t\tform_item_input.setSourceData( [] );\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Province/State' ), form_item_input, tab_employee_contact_column1 );\n\n\t\t// Postal / ZIP Code\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.TEXT_INPUT );\n\t\tform_item_input.TTextInput( {\n\t\t\tfield: 'postal_code',\n\t\t\twidth: 90\n\t\t} );\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Postal/ZIP Code' ), form_item_input, tab_employee_contact_column1, '' );\n\n\t\t// tab_employee_contact column2\n\n\t\t// Work Phone\n\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.TEXT_INPUT );\n\t\tform_item_input.TTextInput( {\n\t\t\tfield: 'work_phone',\n\t\t\twidth: 200\n\t\t} );\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Work Phone' ), form_item_input, tab_employee_contact_column2, '' );\n\n\t\t// Work Phone Ext\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.TEXT_INPUT );\n\t\tform_item_input.TTextInput( {\n\t\t\tfield: 'work_phone_ext',\n\t\t\twidth: 90\n\t\t} );\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Work Phone Ext' ), form_item_input, tab_employee_contact_column2 );\n\n\t\t// Home Phone\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.TEXT_INPUT );\n\t\tform_item_input.TTextInput( {\n\t\t\tfield: 'home_phone',\n\t\t\twidth: 200\n\t\t} );\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Home Phone' ), form_item_input, tab_employee_contact_column2 );\n\n\t\t// Mobile Phone\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.TEXT_INPUT );\n\t\tform_item_input.TTextInput( {\n\t\t\tfield: 'mobile_phone',\n\t\t\twidth: 200\n\t\t} );\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Mobile Phone' ), form_item_input, tab_employee_contact_column2 );\n\n\t\t// Fax\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.TEXT_INPUT );\n\t\tform_item_input.TTextInput( {\n\t\t\tfield: 'fax_phone',\n\t\t\twidth: 200\n\t\t} );\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Fax' ), form_item_input, tab_employee_contact_column2 );\n\n\t\t// Work Email\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.TEXT_INPUT );\n\t\tform_item_input.TTextInput( {\n\t\t\tfield: 'work_email',\n\t\t\twidth: 200\n\t\t} );\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Work Email' ), form_item_input, tab_employee_contact_column2 );\n\n\t\t// Home Email\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.TEXT_INPUT );\n\t\tform_item_input.TTextInput( {\n\t\t\tfield: 'home_email',\n\t\t\twidth: 200\n\t\t} );\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Home Email' ), form_item_input, tab_employee_contact_column2 );\n\n\t\t// Birth Date\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.DATE_PICKER );\n\t\tform_item_input.TDatePicker( {\n\t\t\tfield: 'birth_date'\n\t\t} );\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Birth Date' ), form_item_input, tab_employee_contact_column2 );\n\n\t\t// SIN / SSN\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.TEXT_INPUT );\n\t\tform_item_input.TTextInput( {\n\t\t\tfield: 'sin',\n\t\t\twidth: 200\n\t\t} );\n\t\tthis.addEditFieldToColumn( $.i18n._( 'SIN / SSN' ), form_item_input, tab_employee_contact_column2 );\n\n\t\t// Note\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.TEXT_AREA );\n\t\tform_item_input.TTextArea( {\n\t\t\tfield: 'note'\n\t\t} );\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Note' ), form_item_input, tab_employee_contact_column2, '', null, null, true );\n\n\t\t// Tags\n\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.TAG_INPUT );\n\t\tform_item_input.TTagInput( {\n\t\t\tfield: 'tag',\n\t\t\tobject_type_id: 230\n\t\t} );\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Tags' ), form_item_input, tab_employee_contact_column2, '', null, null, true );\n\t}\n\n\tbuildSearchFields() {\n\t\t//super.buildSearchFields();\n\n\t\tvar default_args = {};\n\t\tdefault_args.permission_section = 'user_contact';\n\n\t\tthis.search_fields = [\n\t\t\tnew SearchField( {\n\t\t\t\tlabel: $.i18n._( 'Employee' ),\n\t\t\t\tin_column: 1,\n\t\t\t\tdefault_args: default_args,\n\t\t\t\tfield: 'user_id',\n\t\t\t\tmultiple: true,\n\t\t\t\tbasic_search: true,\n\t\t\t\tadv_search: true,\n\t\t\t\tlayout_name: 'global_user',\n\t\t\t\tapi_class: TTAPI.APIUser,\n\t\t\t\tform_item_type: FormItemType.AWESOME_BOX\n\t\t\t} ),\n\t\t\tnew SearchField( {\n\t\t\t\tlabel: $.i18n._( 'First Name' ),\n\t\t\t\tin_column: 1,\n\t\t\t\tfield: 'first_name',\n\t\t\t\tbasic_search: true,\n\t\t\t\tadv_search: true,\n\t\t\t\tform_item_type: FormItemType.TEXT_INPUT\n\t\t\t} ),\n\t\t\tnew SearchField( {\n\t\t\t\tlabel: $.i18n._( 'Last Name' ),\n\t\t\t\tin_column: 1,\n\t\t\t\tfield: 'last_name',\n\t\t\t\tbasic_search: true,\n\t\t\t\tadv_search: true,\n\t\t\t\tform_item_type: FormItemType.TEXT_INPUT\n\t\t\t} ),\n\t\t\tnew SearchField( {\n\t\t\t\tlabel: $.i18n._( 'Phone' ),\n\t\t\t\tin_column: 1,\n\t\t\t\tfield: 'any_phone',\n\t\t\t\tbasic_search: false,\n\t\t\t\tadv_search: true,\n\t\t\t\tform_item_type: FormItemType.TEXT_INPUT\n\t\t\t} ),\n\t\t\tnew SearchField( {\n\t\t\t\tlabel: $.i18n._( 'Email' ),\n\t\t\t\tfield: 'any_email',\n\t\t\t\tbasic_search: false,\n\t\t\t\tadv_search: true,\n\t\t\t\tin_column: 1,\n\t\t\t\tform_item_type: FormItemType.TEXT_INPUT\n\t\t\t} ),\n\n\t\t\tnew SearchField( {\n\t\t\t\tlabel: $.i18n._( 'Status' ),\n\t\t\t\tin_column: 2,\n\t\t\t\tfield: 'status_id',\n\t\t\t\tmultiple: true,\n\t\t\t\tbasic_search: true,\n\t\t\t\tadv_search: true,\n\t\t\t\tlayout_name: 'global_option_column',\n\t\t\t\tform_item_type: FormItemType.AWESOME_BOX\n\t\t\t} ),\n\t\t\tnew SearchField( {\n\t\t\t\tlabel: $.i18n._( 'Type' ),\n\t\t\t\tin_column: 2,\n\t\t\t\tfield: 'type_id',\n\t\t\t\tmultiple: true,\n\t\t\t\tbasic_search: true,\n\t\t\t\tadv_search: true,\n\t\t\t\tlayout_name: 'global_option_column',\n\t\t\t\tform_item_type: FormItemType.AWESOME_BOX\n\t\t\t} ),\n\t\t\tnew SearchField( {\n\t\t\t\tlabel: $.i18n._( 'Gender' ),\n\t\t\t\tin_column: 2,\n\t\t\t\tfield: 'sex_id',\n\t\t\t\tmultiple: true,\n\t\t\t\tbasic_search: false,\n\t\t\t\tadv_search: true,\n\t\t\t\tlayout_name: 'global_option_column',\n\t\t\t\tform_item_type: FormItemType.AWESOME_BOX\n\t\t\t} ),\n\t\t\tnew SearchField( {\n\t\t\t\tlabel: $.i18n._( 'Tags' ),\n\t\t\t\tin_column: 2,\n\t\t\t\tfield: 'tag',\n\t\t\t\tbasic_search: true,\n\t\t\t\tadv_search: true,\n\t\t\t\tobject_type_id: 230,\n\t\t\t\tform_item_type: FormItemType.TAG_INPUT\n\t\t\t} ),\n\t\t\tnew SearchField( {\n\t\t\t\tlabel: $.i18n._( 'Country' ),\n\t\t\t\tin_column: 3,\n\t\t\t\tfield: 'country',\n\t\t\t\tmultiple: true,\n\t\t\t\tbasic_search: false,\n\t\t\t\tadv_search: true,\n\t\t\t\tlayout_name: 'global_option_column',\n\t\t\t\tform_item_type: FormItemType.COMBO_BOX\n\t\t\t} ),\n\t\t\tnew SearchField( {\n\t\t\t\tlabel: $.i18n._( 'Province/State' ),\n\t\t\t\tin_column: 3,\n\t\t\t\tfield: 'province',\n\t\t\t\tmultiple: true,\n\t\t\t\tbasic_search: false,\n\t\t\t\tadv_search: true,\n\t\t\t\tlayout_name: 'global_option_column',\n\t\t\t\tform_item_type: FormItemType.AWESOME_BOX\n\t\t\t} ),\n\t\t\tnew SearchField( {\n\t\t\t\tlabel: $.i18n._( 'City' ),\n\t\t\t\tin_column: 3,\n\t\t\t\tfield: 'city',\n\t\t\t\tbasic_search: false,\n\t\t\t\tadv_search: true,\n\t\t\t\tform_item_type: FormItemType.TEXT_INPUT\n\t\t\t} ),\n\t\t\tnew SearchField( {\n\t\t\t\tlabel: $.i18n._( 'SIN/SSN' ),\n\t\t\t\tin_column: 3,\n\t\t\t\tfield: 'sin',\n\t\t\t\tbasic_search: false,\n\t\t\t\tadv_search: true,\n\t\t\t\tform_item_type: FormItemType.TEXT_INPUT\n\t\t\t} )\n\n\t\t];\n\t}\n\n\tsetProvince( val, m ) {\n\t\tvar $this = this;\n\n\t\tif ( !val || val === '-1' || val === '0' ) {\n\t\t\t$this.province_array = [];\n\t\t\tthis.adv_search_field_ui_dic['province'].setSourceData( [] );\n\t\t} else {\n\n\t\t\tthis.company_api.getOptions( 'province', val, {\n\t\t\t\tonResult: function( res ) {\n\t\t\t\t\tres = res.getResult();\n\t\t\t\t\tif ( !res ) {\n\t\t\t\t\t\tres = [];\n\t\t\t\t\t}\n\n\t\t\t\t\t$this.province_array = Global.buildRecordArray( res );\n\t\t\t\t\t$this.adv_search_field_ui_dic['province'].setSourceData( $this.province_array );\n\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t}\n\n\teSetProvince( val, refresh ) {\n\t\tvar $this = this;\n\t\tvar province_widget = $this.edit_view_ui_dic['province'];\n\n\t\tif ( !val || val === '-1' || val === '0' ) {\n\t\t\t$this.e_province_array = [];\n\t\t\tprovince_widget.setSourceData( [] );\n\t\t} else {\n\t\t\tthis.company_api.getOptions( 'province', val, {\n\t\t\t\tonResult: function( res ) {\n\t\t\t\t\tres = res.getResult();\n\t\t\t\t\tif ( !res ) {\n\t\t\t\t\t\tres = [];\n\t\t\t\t\t}\n\n\t\t\t\t\t$this.e_province_array = Global.buildRecordArray( res );\n\t\t\t\t\tif ( refresh && $this.e_province_array.length > 0 ) {\n\t\t\t\t\t\t$this.current_edit_record.province = $this.e_province_array[0].value;\n\t\t\t\t\t\tprovince_widget.setValue( $this.current_edit_record.province );\n\t\t\t\t\t}\n\n\t\t\t\t\tprovince_widget.setSourceData( $this.e_province_array );\n\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t}\n\n\tonSetSearchFilterFinished() {\n\n\t\tif ( this.search_panel.getSelectTabIndex() === 1 ) {\n\t\t\tvar combo = this.adv_search_field_ui_dic['country'];\n\t\t\tvar select_value = combo.getValue();\n\t\t\tthis.setProvince( select_value );\n\t\t}\n\t}\n\n\tonBuildAdvUIFinished() {\n\n\t\tthis.adv_search_field_ui_dic['country'].change( $.proxy( function() {\n\t\t\tvar combo = this.adv_search_field_ui_dic['country'];\n\t\t\tvar selectVal = combo.getValue();\n\n\t\t\tthis.setProvince( selectVal );\n\n\t\t\tthis.adv_search_field_ui_dic['province'].setValue( null );\n\n\t\t}, this ) );\n\t}\n\n\tsearchDone() {\n\t\tsuper.searchDone();\n\t\tTTPromise.resolve( 'ContactView', 'init' );\n\t}\n}\n\nUserContactViewController.loadSubView = function( container, beforeViewLoadedFun, afterViewLoadedFun ) {\n\n\tGlobal.loadViewSource( 'UserContact', 'SubUserContactView.html', function( result ) {\n\t\tvar args = {};\n\t\tvar template = _.template( result );\n\n\t\tif ( Global.isSet( beforeViewLoadedFun ) ) {\n\t\t\tbeforeViewLoadedFun();\n\t\t}\n\n\t\tif ( Global.isSet( container ) ) {\n\t\t\tcontainer.html( template( args ) );\n\t\t\tif ( Global.isSet( afterViewLoadedFun ) ) {\n\t\t\t\tafterViewLoadedFun( sub_user_contact_view_controller );\n\t\t\t}\n\t\t}\n\t} );\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNjczOC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBTztBQUNQLDJCQUEyQjtBQUMzQixFQUFFLENBQUM7QUFDSDs7OztBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7O0FBRUo7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJCQUEyQixDQUFDO0FBQzVCLDBCQUEwQixDQUFDO0FBQzNCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLLHNDQUFzQztBQUMzQyxLQUFLLG9DQUFvQztBQUN6QyxLQUFLLG1DQUFtQztBQUN4QyxLQUFLLHNFQUFzRTtBQUMzRTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBLDZCQUE2QixTQUFTLENBQUMsd0RBQXdEO0FBQy9GO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTs7QUFFSjs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJOztBQUVKO0FBQ0E7QUFDQTs7QUFFQSw2QkFBNkIsQ0FBQzs7QUFFOUI7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0EsNkJBQTZCLENBQUM7O0FBRTlCOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBLDZCQUE2QixDQUFDOztBQUU5Qjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSiw2QkFBNkIsQ0FBQzs7QUFFOUI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osNkJBQTZCLENBQUM7O0FBRTlCOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLDZCQUE2QixDQUFDOztBQUU5Qjs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQSw2QkFBNkIsQ0FBQzs7QUFFOUI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSiw2QkFBNkIsQ0FBQzs7QUFFOUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSiw2QkFBNkIsQ0FBQzs7QUFFOUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSiw2QkFBNkIsQ0FBQzs7QUFFOUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSiw2QkFBNkIsQ0FBQzs7QUFFOUI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQSw2QkFBNkIsQ0FBQzs7QUFFOUI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQSw2QkFBNkIsQ0FBQzs7QUFFOUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSiw2QkFBNkIsQ0FBQzs7QUFFOUI7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osNkJBQTZCLENBQUM7O0FBRTlCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osNkJBQTZCLENBQUM7O0FBRTlCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osNkJBQTZCLENBQUM7O0FBRTlCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osNkJBQTZCLENBQUM7O0FBRTlCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osNkJBQTZCLENBQUM7O0FBRTlCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osNkJBQTZCLENBQUM7O0FBRTlCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osNkJBQTZCLENBQUM7O0FBRTlCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLDZCQUE2QixDQUFDOztBQUU5QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLDZCQUE2QixDQUFDOztBQUU5QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSiw2QkFBNkIsQ0FBQzs7QUFFOUI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osNkJBQTZCLENBQUM7QUFDOUI7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxXQUFXLENBQUM7QUFDWjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxXQUFXLENBQUM7QUFDWjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsV0FBVyxDQUFDO0FBQ1o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLFdBQVcsQ0FBQztBQUNaO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxXQUFXLENBQUM7QUFDWjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBLFdBQVcsQ0FBQztBQUNaO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsV0FBVyxDQUFDO0FBQ1o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxXQUFXLENBQUM7QUFDWjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLFdBQVcsQ0FBQztBQUNaO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLFdBQVcsQ0FBQztBQUNaO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsV0FBVyxDQUFDO0FBQ1o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxXQUFXLENBQUM7QUFDWjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsV0FBVyxDQUFDO0FBQ1o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7O0FBRUo7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBLGtEQUFrRCxDQUFDO0FBQ25EO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUEsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBLGlCQUFpQixDQUFDOztBQUVsQjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vaW50ZXJmYWNlL2h0bWw1L3ZpZXdzL2VtcGxveWVlcy91c2VyX2NvbnRhY3QvVXNlckNvbnRhY3RWaWV3Q29udHJvbGxlci5qcz84MmIzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBVc2VyQ29udGFjdFZpZXdDb250cm9sbGVyIGV4dGVuZHMgQmFzZVZpZXdDb250cm9sbGVyIHtcblx0Y29uc3RydWN0b3IoIG9wdGlvbnMgPSB7fSApIHtcblx0XHRfLmRlZmF1bHRzKCBvcHRpb25zLCB7XG5cdFx0XHRlbDogJyN1c2VyX2NvbnRhY3Rfdmlld19jb250YWluZXInLFxuXG5cblxuXHRcdFx0dXNlcl9hcGk6IG51bGwsXG5cdFx0XHRjb21wYW55X2FwaTogbnVsbCxcblx0XHRcdGV0aG5pY19ncm91cF9hcGk6IG51bGwsXG5cdFx0XHRzdGF0dXNfYXJyYXk6IG51bGwsXG5cdFx0XHR0eXBlX2FycmF5OiBudWxsLFxuXHRcdFx0c2V4X2FycmF5OiBudWxsLFxuXHRcdFx0Y291bnRyeV9hcnJheTogbnVsbCxcblx0XHRcdHByb3ZpbmNlX2FycmF5OiBudWxsLFxuXHRcdFx0ZV9wcm92aW5jZV9hcnJheTogbnVsbFxuXHRcdH0gKTtcblxuXHRcdHN1cGVyKCBvcHRpb25zICk7XG5cdH1cblxuXHRpbml0KCBvcHRpb25zICkge1xuXHRcdC8vdGhpcy5fc3VwZXIoJ2luaXRpYWxpemUnLCBvcHRpb25zICk7XG5cdFx0dGhpcy5lZGl0X3ZpZXdfdHBsID0gJ1VzZXJDb250YWN0RWRpdFZpZXcuaHRtbCc7XG5cdFx0dGhpcy5wZXJtaXNzaW9uX2lkID0gJ3VzZXJfY29udGFjdCc7XG5cdFx0dGhpcy52aWV3SWQgPSAnVXNlckNvbnRhY3QnO1xuXHRcdHRoaXMuc2NyaXB0X25hbWUgPSAnVXNlckNvbnRhY3RWaWV3Jztcblx0XHR0aGlzLnRhYmxlX25hbWVfa2V5ID0gJ3VzZXJfY29udGFjdCc7XG5cdFx0dGhpcy5jb250ZXh0X21lbnVfbmFtZSA9ICQuaTE4bi5fKCAnRW1wbG95ZWUgQ29udGFjdHMnICk7XG5cdFx0dGhpcy5uYXZpZ2F0aW9uX2xhYmVsID0gJC5pMThuLl8oICdFbXBsb3llZSBDb250YWN0JyApO1xuXHRcdHRoaXMuYXBpID0gVFRBUEkuQVBJVXNlckNvbnRhY3Q7XG5cdFx0dGhpcy51c2VyX2FwaSA9IFRUQVBJLkFQSVVzZXI7XG5cdFx0dGhpcy5jb21wYW55X2FwaSA9IFRUQVBJLkFQSUNvbXBhbnk7XG5cdFx0dGhpcy5ldGhuaWNfZ3JvdXBfYXBpID0gVFRBUEkuQVBJRXRobmljR3JvdXA7XG5cdFx0dGhpcy5kb2N1bWVudF9vYmplY3RfdHlwZV9pZCA9IDExNTtcblxuXHRcdHRoaXMucmVuZGVyKCk7XG5cblx0XHRpZiAoIHRoaXMuc3ViX3ZpZXdfbW9kZSApIHtcblx0XHRcdHRoaXMuYnVpbGRDb250ZXh0TWVudSggdHJ1ZSApO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR0aGlzLmJ1aWxkQ29udGV4dE1lbnUoKTtcblx0XHR9XG5cblx0XHQvL2NhbGwgaW5pdCBkYXRhIGluIHBhcmVudCB2aWV3XG5cdFx0aWYgKCAhdGhpcy5zdWJfdmlld19tb2RlICkge1xuXHRcdFx0dGhpcy5pbml0RGF0YSgpO1xuXHRcdH1cblx0fVxuXG5cdGdldEN1c3RvbUNvbnRleHRNZW51TW9kZWwoKSB7XG5cdFx0dmFyIGNvbnRleHRfbWVudV9tb2RlbCA9IHtcblx0XHRcdGV4Y2x1ZGU6IFsnY29weSddLFxuXHRcdFx0aW5jbHVkZTogW11cblx0XHR9O1xuXG5cdFx0cmV0dXJuIGNvbnRleHRfbWVudV9tb2RlbDtcblx0fVxuXG5cdGluaXRPcHRpb25zKCkge1xuXHRcdHZhciBvcHRpb25zID0gW1xuXHRcdFx0eyBvcHRpb25fbmFtZTogJ3N0YXR1cycsIGFwaTogdGhpcy5hcGkgfSxcblx0XHRcdHsgb3B0aW9uX25hbWU6ICd0eXBlJywgYXBpOiB0aGlzLmFwaSB9LFxuXHRcdFx0eyBvcHRpb25fbmFtZTogJ3NleCcsIGFwaTogdGhpcy5hcGkgfSxcblx0XHRcdHsgb3B0aW9uX25hbWU6ICdjb3VudHJ5JywgZmllbGRfbmFtZTogJ2NvdW50cnknLCBhcGk6IHRoaXMuY29tcGFueV9hcGkgfSxcblx0XHRdO1xuXG5cdFx0dGhpcy5pbml0RHJvcERvd25PcHRpb25zKCBvcHRpb25zICk7XG5cdH1cblxuXHRvbkZvcm1JdGVtQ2hhbmdlKCB0YXJnZXQsIGRvTm90VmFsaWRhdGUgKSB7XG5cdFx0dGhpcy5zZXRJc0NoYW5nZWQoIHRhcmdldCApO1xuXHRcdHRoaXMuc2V0TWFzc0VkaXRpbmdGaWVsZHNXaGVuRm9ybUNoYW5nZSggdGFyZ2V0ICk7XG5cdFx0dmFyIGtleSA9IHRhcmdldC5nZXRGaWVsZCgpO1xuXHRcdHN3aXRjaCAoIGtleSApIHtcblx0XHRcdGNhc2UgJ2NvdW50cnknOlxuXHRcdFx0XHR2YXIgd2lkZ2V0ID0gdGhpcy5lZGl0X3ZpZXdfdWlfZGljWydwcm92aW5jZSddO1xuXHRcdFx0XHR3aWRnZXQuc2V0VmFsdWUoIG51bGwgKTtcblx0XHRcdFx0YnJlYWs7XG5cdFx0fVxuXG5cdFx0dGhpcy5jdXJyZW50X2VkaXRfcmVjb3JkW2tleV0gPSB0YXJnZXQuZ2V0VmFsdWUoKTtcblxuXHRcdGlmICgga2V5ID09PSAnY291bnRyeScgKSB7XG5cdFx0XHR0aGlzLm9uQ291bnRyeUNoYW5nZSgpO1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdGlmICggIWRvTm90VmFsaWRhdGUgKSB7XG5cdFx0XHR0aGlzLnZhbGlkYXRlKCk7XG5cdFx0fVxuXHR9XG5cblx0c2V0U2VsZWN0TGF5b3V0KCkge1xuXHRcdGlmICggdGhpcy5zdWJfdmlld19tb2RlICkge1xuXHRcdFx0c3VwZXIuc2V0U2VsZWN0TGF5b3V0KCBbJ2VtcGxveWVlX2ZpcnN0X25hbWUnLCAnZW1wbG95ZWVfbGFzdF9uYW1lJywgJ3RpdGxlJywgJ3VzZXJfZ3JvdXAnLCAnZGVmYXVsdF9icmFuY2gnLCAnZGVmYXVsdF9kZXBhcnRtZW50J10gKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0c3VwZXIuc2V0U2VsZWN0TGF5b3V0KCk7XG5cdFx0fVxuXHR9XG5cblx0YnVpbGRFZGl0Vmlld1VJKCkge1xuXHRcdHN1cGVyLmJ1aWxkRWRpdFZpZXdVSSgpO1xuXG5cdFx0dmFyICR0aGlzID0gdGhpcztcblxuXHRcdHZhciB0YWJfbW9kZWwgPSB7XG5cdFx0XHQndGFiX2VtcGxveWVlX2NvbnRhY3QnOiB7ICdsYWJlbCc6ICQuaTE4bi5fKCAnRW1wbG95ZWUgQ29udGFjdCcgKSwgJ2lzX211bHRpX2NvbHVtbic6IHRydWUgfSxcblx0XHRcdCd0YWJfYXR0YWNobWVudCc6IHRydWUsXG5cdFx0XHQndGFiX2F1ZGl0JzogdHJ1ZSxcblx0XHR9O1xuXHRcdHRoaXMuc2V0VGFiTW9kZWwoIHRhYl9tb2RlbCApO1xuXG5cdFx0dGhpcy5uYXZpZ2F0aW9uLkFDb21ib0JveCgge1xuXHRcdFx0YXBpX2NsYXNzOiBUVEFQSS5BUElVc2VyQ29udGFjdCxcblx0XHRcdGlkOiB0aGlzLnNjcmlwdF9uYW1lICsgJ19uYXZpZ2F0aW9uJyxcblx0XHRcdGFsbG93X211bHRpcGxlX3NlbGVjdGlvbjogZmFsc2UsXG5cdFx0XHRsYXlvdXRfbmFtZTogJ2dsb2JhbF91c2VyX2NvbnRhY3QnLFxuXHRcdFx0bmF2aWdhdGlvbl9tb2RlOiB0cnVlLFxuXHRcdFx0c2hvd19zZWFyY2hfaW5wdXRzOiB0cnVlXG5cdFx0fSApO1xuXG5cdFx0dGhpcy5zZXROYXZpZ2F0aW9uKCk7XG5cblx0XHR2YXIgdGFiX2VtcGxveWVlX2NvbnRhY3QgPSB0aGlzLmVkaXRfdmlld190YWIuZmluZCggJyN0YWJfZW1wbG95ZWVfY29udGFjdCcgKTtcblx0XHR2YXIgdGFiX2VtcGxveWVlX2NvbnRhY3RfY29sdW1uMSA9IHRhYl9lbXBsb3llZV9jb250YWN0LmZpbmQoICcuZmlyc3QtY29sdW1uJyApO1xuXHRcdHZhciB0YWJfZW1wbG95ZWVfY29udGFjdF9jb2x1bW4yID0gdGFiX2VtcGxveWVlX2NvbnRhY3QuZmluZCggJy5zZWNvbmQtY29sdW1uJyApO1xuXG5cdFx0dGhpcy5lZGl0X3ZpZXdfdGFic1swXSA9IFtdO1xuXG5cdFx0dGhpcy5lZGl0X3ZpZXdfdGFic1swXS5wdXNoKCB0YWJfZW1wbG95ZWVfY29udGFjdF9jb2x1bW4xICk7XG5cdFx0dGhpcy5lZGl0X3ZpZXdfdGFic1swXS5wdXNoKCB0YWJfZW1wbG95ZWVfY29udGFjdF9jb2x1bW4yICk7XG5cblx0XHQvLyB0YWJfZW1wbG95ZWVfY29udGFjdCBjb2x1bW4xXG5cblx0XHQvLyBFbXBsb3llZVxuXHRcdHZhciBmb3JtX2l0ZW1faW5wdXQgPSBHbG9iYWwubG9hZFdpZGdldEJ5TmFtZSggRm9ybUl0ZW1UeXBlLkFXRVNPTUVfQk9YICk7XG5cdFx0Zm9ybV9pdGVtX2lucHV0LkFDb21ib0JveCgge1xuXHRcdFx0YXBpX2NsYXNzOiBUVEFQSS5BUElVc2VyLFxuXHRcdFx0YWxsb3dfbXVsdGlwbGVfc2VsZWN0aW9uOiBmYWxzZSxcblx0XHRcdGxheW91dF9uYW1lOiAnZ2xvYmFsX3VzZXInLFxuXHRcdFx0ZmllbGQ6ICd1c2VyX2lkJyxcblx0XHRcdHNldF9lbXB0eTogdHJ1ZSxcblx0XHRcdHNob3dfc2VhcmNoX2lucHV0czogdHJ1ZVxuXHRcdH0gKTtcblxuXHRcdHZhciBkZWZhdWx0X2FyZ3MgPSB7fTtcblx0XHRkZWZhdWx0X2FyZ3MucGVybWlzc2lvbl9zZWN0aW9uID0gJ3VzZXJfY29udGFjdCc7XG5cdFx0Zm9ybV9pdGVtX2lucHV0LnNldERlZmF1bHRBcmdzKCBkZWZhdWx0X2FyZ3MgKTtcblxuXHRcdHRoaXMuYWRkRWRpdEZpZWxkVG9Db2x1bW4oICQuaTE4bi5fKCAnRW1wbG95ZWUnICksIGZvcm1faXRlbV9pbnB1dCwgdGFiX2VtcGxveWVlX2NvbnRhY3RfY29sdW1uMSwgJycgKTtcblxuXHRcdC8vIFN0YXR1c1xuXG5cdFx0Zm9ybV9pdGVtX2lucHV0ID0gR2xvYmFsLmxvYWRXaWRnZXRCeU5hbWUoIEZvcm1JdGVtVHlwZS5DT01CT19CT1ggKTtcblx0XHRmb3JtX2l0ZW1faW5wdXQuVENvbWJvQm94KCB7XG5cdFx0XHRmaWVsZDogJ3N0YXR1c19pZCdcblx0XHR9ICk7XG5cdFx0Zm9ybV9pdGVtX2lucHV0LnNldFNvdXJjZURhdGEoICR0aGlzLnN0YXR1c19hcnJheSApO1xuXHRcdHRoaXMuYWRkRWRpdEZpZWxkVG9Db2x1bW4oICQuaTE4bi5fKCAnU3RhdHVzJyApLCBmb3JtX2l0ZW1faW5wdXQsIHRhYl9lbXBsb3llZV9jb250YWN0X2NvbHVtbjEgKTtcblxuXHRcdC8vIFR5cGVcblxuXHRcdGZvcm1faXRlbV9pbnB1dCA9IEdsb2JhbC5sb2FkV2lkZ2V0QnlOYW1lKCBGb3JtSXRlbVR5cGUuQ09NQk9fQk9YICk7XG5cdFx0Zm9ybV9pdGVtX2lucHV0LlRDb21ib0JveCgge1xuXHRcdFx0ZmllbGQ6ICd0eXBlX2lkJ1xuXHRcdH0gKTtcblx0XHRmb3JtX2l0ZW1faW5wdXQuc2V0U291cmNlRGF0YSggJHRoaXMudHlwZV9hcnJheSApO1xuXHRcdHRoaXMuYWRkRWRpdEZpZWxkVG9Db2x1bW4oICQuaTE4bi5fKCAnVHlwZScgKSwgZm9ybV9pdGVtX2lucHV0LCB0YWJfZW1wbG95ZWVfY29udGFjdF9jb2x1bW4xICk7XG5cblx0XHQvLyBGaXJzdCBOYW1lXG5cblx0XHRmb3JtX2l0ZW1faW5wdXQgPSBHbG9iYWwubG9hZFdpZGdldEJ5TmFtZSggRm9ybUl0ZW1UeXBlLlRFWFRfSU5QVVQgKTtcblx0XHRmb3JtX2l0ZW1faW5wdXQuVFRleHRJbnB1dCgge1xuXHRcdFx0ZmllbGQ6ICdmaXJzdF9uYW1lJyxcblx0XHRcdHdpZHRoOiAyMDBcblx0XHR9ICk7XG5cdFx0dGhpcy5hZGRFZGl0RmllbGRUb0NvbHVtbiggJC5pMThuLl8oICdGaXJzdCBOYW1lJyApLCBmb3JtX2l0ZW1faW5wdXQsIHRhYl9lbXBsb3llZV9jb250YWN0X2NvbHVtbjEgKTtcblxuXHRcdC8vIE1pZGRsZSBOYW1lXG5cblx0XHRmb3JtX2l0ZW1faW5wdXQgPSBHbG9iYWwubG9hZFdpZGdldEJ5TmFtZSggRm9ybUl0ZW1UeXBlLlRFWFRfSU5QVVQgKTtcblx0XHRmb3JtX2l0ZW1faW5wdXQuVFRleHRJbnB1dCgge1xuXHRcdFx0ZmllbGQ6ICdtaWRkbGVfbmFtZScsXG5cdFx0XHR3aWR0aDogMjAwXG5cdFx0fSApO1xuXHRcdHRoaXMuYWRkRWRpdEZpZWxkVG9Db2x1bW4oICQuaTE4bi5fKCAnTWlkZGxlIE5hbWUnICksIGZvcm1faXRlbV9pbnB1dCwgdGFiX2VtcGxveWVlX2NvbnRhY3RfY29sdW1uMSApO1xuXG5cdFx0Ly8gTGFzdCBOYW1lXG5cblx0XHRmb3JtX2l0ZW1faW5wdXQgPSBHbG9iYWwubG9hZFdpZGdldEJ5TmFtZSggRm9ybUl0ZW1UeXBlLlRFWFRfSU5QVVQgKTtcblx0XHRmb3JtX2l0ZW1faW5wdXQuVFRleHRJbnB1dCgge1xuXHRcdFx0ZmllbGQ6ICdsYXN0X25hbWUnLFxuXHRcdFx0d2lkdGg6IDIwMFxuXHRcdH0gKTtcblx0XHR0aGlzLmFkZEVkaXRGaWVsZFRvQ29sdW1uKCAkLmkxOG4uXyggJ0xhc3QgTmFtZScgKSwgZm9ybV9pdGVtX2lucHV0LCB0YWJfZW1wbG95ZWVfY29udGFjdF9jb2x1bW4xICk7XG5cblx0XHQvLyBHZW5kZXJcblxuXHRcdGZvcm1faXRlbV9pbnB1dCA9IEdsb2JhbC5sb2FkV2lkZ2V0QnlOYW1lKCBGb3JtSXRlbVR5cGUuQ09NQk9fQk9YICk7XG5cdFx0Zm9ybV9pdGVtX2lucHV0LlRDb21ib0JveCgge1xuXHRcdFx0ZmllbGQ6ICdzZXhfaWQnXG5cdFx0fSApO1xuXHRcdGZvcm1faXRlbV9pbnB1dC5zZXRTb3VyY2VEYXRhKCAkdGhpcy5zZXhfYXJyYXkgKTtcblx0XHR0aGlzLmFkZEVkaXRGaWVsZFRvQ29sdW1uKCAkLmkxOG4uXyggJ0dlbmRlcicgKSwgZm9ybV9pdGVtX2lucHV0LCB0YWJfZW1wbG95ZWVfY29udGFjdF9jb2x1bW4xICk7XG5cblx0XHQvLyBFdGhuaWNpdHlcblxuXHRcdGZvcm1faXRlbV9pbnB1dCA9IEdsb2JhbC5sb2FkV2lkZ2V0QnlOYW1lKCBGb3JtSXRlbVR5cGUuQVdFU09NRV9CT1ggKTtcblx0XHRmb3JtX2l0ZW1faW5wdXQuQUNvbWJvQm94KCB7XG5cdFx0XHRhcGlfY2xhc3M6IFRUQVBJLkFQSUV0aG5pY0dyb3VwLFxuXHRcdFx0ZmllbGQ6ICdldGhuaWNfZ3JvdXBfaWQnLFxuXHRcdFx0c2V0X2VtcHR5OiB0cnVlLFxuXHRcdFx0YWxsb3dfbXVsdGlwbGVfc2VsZWN0aW9uOiBmYWxzZSxcblx0XHRcdGxheW91dF9uYW1lOiAnZ2xvYmFsX2V0aG5pY19ncm91cCcsXG5cdFx0XHRzaG93X3NlYXJjaF9pbnB1dHM6IHRydWVcblx0XHR9ICk7XG5cdFx0dGhpcy5hZGRFZGl0RmllbGRUb0NvbHVtbiggJC5pMThuLl8oICdFdGhuaWNpdHknICksIGZvcm1faXRlbV9pbnB1dCwgdGFiX2VtcGxveWVlX2NvbnRhY3RfY29sdW1uMSApO1xuXG5cdFx0Ly8gSG9tZSBBZGRyZXNzKExpbmUgMSlcblx0XHRmb3JtX2l0ZW1faW5wdXQgPSBHbG9iYWwubG9hZFdpZGdldEJ5TmFtZSggRm9ybUl0ZW1UeXBlLlRFWFRfSU5QVVQgKTtcblx0XHRmb3JtX2l0ZW1faW5wdXQuVFRleHRJbnB1dCgge1xuXHRcdFx0ZmllbGQ6ICdhZGRyZXNzMScsXG5cdFx0XHR3aWR0aDogMjAwXG5cdFx0fSApO1xuXHRcdHRoaXMuYWRkRWRpdEZpZWxkVG9Db2x1bW4oICQuaTE4bi5fKCAnSG9tZSBBZGRyZXNzIChMaW5lIDEpJyApLCBmb3JtX2l0ZW1faW5wdXQsIHRhYl9lbXBsb3llZV9jb250YWN0X2NvbHVtbjEgKTtcblxuXHRcdC8vIEhvbWUgQWRkcmVzcyhMaW5lIDIpXG5cdFx0Zm9ybV9pdGVtX2lucHV0ID0gR2xvYmFsLmxvYWRXaWRnZXRCeU5hbWUoIEZvcm1JdGVtVHlwZS5URVhUX0lOUFVUICk7XG5cdFx0Zm9ybV9pdGVtX2lucHV0LlRUZXh0SW5wdXQoIHtcblx0XHRcdGZpZWxkOiAnYWRkcmVzczInLFxuXHRcdFx0d2lkdGg6IDIwMFxuXHRcdH0gKTtcblx0XHR0aGlzLmFkZEVkaXRGaWVsZFRvQ29sdW1uKCAkLmkxOG4uXyggJ0hvbWUgQWRkcmVzcyAoTGluZSAyKScgKSwgZm9ybV9pdGVtX2lucHV0LCB0YWJfZW1wbG95ZWVfY29udGFjdF9jb2x1bW4xICk7XG5cblx0XHQvLyBDaXR5XG5cdFx0Zm9ybV9pdGVtX2lucHV0ID0gR2xvYmFsLmxvYWRXaWRnZXRCeU5hbWUoIEZvcm1JdGVtVHlwZS5URVhUX0lOUFVUICk7XG5cdFx0Zm9ybV9pdGVtX2lucHV0LlRUZXh0SW5wdXQoIHtcblx0XHRcdGZpZWxkOiAnY2l0eScsXG5cdFx0XHR3aWR0aDogMjAwXG5cdFx0fSApO1xuXHRcdHRoaXMuYWRkRWRpdEZpZWxkVG9Db2x1bW4oICQuaTE4bi5fKCAnQ2l0eScgKSwgZm9ybV9pdGVtX2lucHV0LCB0YWJfZW1wbG95ZWVfY29udGFjdF9jb2x1bW4xICk7XG5cblx0XHQvLyBDb3VudHJ5XG5cdFx0Zm9ybV9pdGVtX2lucHV0ID0gR2xvYmFsLmxvYWRXaWRnZXRCeU5hbWUoIEZvcm1JdGVtVHlwZS5DT01CT19CT1ggKTtcblx0XHRmb3JtX2l0ZW1faW5wdXQuVENvbWJvQm94KCB7XG5cdFx0XHRmaWVsZDogJ2NvdW50cnknXG5cdFx0fSApO1xuXHRcdGZvcm1faXRlbV9pbnB1dC5zZXRTb3VyY2VEYXRhKCAkdGhpcy5jb3VudHJ5X2FycmF5ICk7XG5cdFx0dGhpcy5hZGRFZGl0RmllbGRUb0NvbHVtbiggJC5pMThuLl8oICdDb3VudHJ5JyApLCBmb3JtX2l0ZW1faW5wdXQsIHRhYl9lbXBsb3llZV9jb250YWN0X2NvbHVtbjEgKTtcblxuXHRcdC8vIFByb3ZpbmNlL1N0YXRlXG5cdFx0Zm9ybV9pdGVtX2lucHV0ID0gR2xvYmFsLmxvYWRXaWRnZXRCeU5hbWUoIEZvcm1JdGVtVHlwZS5DT01CT19CT1ggKTtcblx0XHRmb3JtX2l0ZW1faW5wdXQuVENvbWJvQm94KCB7XG5cdFx0XHRmaWVsZDogJ3Byb3ZpbmNlJ1xuXHRcdH0gKTtcblx0XHRmb3JtX2l0ZW1faW5wdXQuc2V0U291cmNlRGF0YSggW10gKTtcblx0XHR0aGlzLmFkZEVkaXRGaWVsZFRvQ29sdW1uKCAkLmkxOG4uXyggJ1Byb3ZpbmNlL1N0YXRlJyApLCBmb3JtX2l0ZW1faW5wdXQsIHRhYl9lbXBsb3llZV9jb250YWN0X2NvbHVtbjEgKTtcblxuXHRcdC8vIFBvc3RhbCAvIFpJUCBDb2RlXG5cdFx0Zm9ybV9pdGVtX2lucHV0ID0gR2xvYmFsLmxvYWRXaWRnZXRCeU5hbWUoIEZvcm1JdGVtVHlwZS5URVhUX0lOUFVUICk7XG5cdFx0Zm9ybV9pdGVtX2lucHV0LlRUZXh0SW5wdXQoIHtcblx0XHRcdGZpZWxkOiAncG9zdGFsX2NvZGUnLFxuXHRcdFx0d2lkdGg6IDkwXG5cdFx0fSApO1xuXHRcdHRoaXMuYWRkRWRpdEZpZWxkVG9Db2x1bW4oICQuaTE4bi5fKCAnUG9zdGFsL1pJUCBDb2RlJyApLCBmb3JtX2l0ZW1faW5wdXQsIHRhYl9lbXBsb3llZV9jb250YWN0X2NvbHVtbjEsICcnICk7XG5cblx0XHQvLyB0YWJfZW1wbG95ZWVfY29udGFjdCBjb2x1bW4yXG5cblx0XHQvLyBXb3JrIFBob25lXG5cblx0XHRmb3JtX2l0ZW1faW5wdXQgPSBHbG9iYWwubG9hZFdpZGdldEJ5TmFtZSggRm9ybUl0ZW1UeXBlLlRFWFRfSU5QVVQgKTtcblx0XHRmb3JtX2l0ZW1faW5wdXQuVFRleHRJbnB1dCgge1xuXHRcdFx0ZmllbGQ6ICd3b3JrX3Bob25lJyxcblx0XHRcdHdpZHRoOiAyMDBcblx0XHR9ICk7XG5cdFx0dGhpcy5hZGRFZGl0RmllbGRUb0NvbHVtbiggJC5pMThuLl8oICdXb3JrIFBob25lJyApLCBmb3JtX2l0ZW1faW5wdXQsIHRhYl9lbXBsb3llZV9jb250YWN0X2NvbHVtbjIsICcnICk7XG5cblx0XHQvLyBXb3JrIFBob25lIEV4dFxuXHRcdGZvcm1faXRlbV9pbnB1dCA9IEdsb2JhbC5sb2FkV2lkZ2V0QnlOYW1lKCBGb3JtSXRlbVR5cGUuVEVYVF9JTlBVVCApO1xuXHRcdGZvcm1faXRlbV9pbnB1dC5UVGV4dElucHV0KCB7XG5cdFx0XHRmaWVsZDogJ3dvcmtfcGhvbmVfZXh0Jyxcblx0XHRcdHdpZHRoOiA5MFxuXHRcdH0gKTtcblx0XHR0aGlzLmFkZEVkaXRGaWVsZFRvQ29sdW1uKCAkLmkxOG4uXyggJ1dvcmsgUGhvbmUgRXh0JyApLCBmb3JtX2l0ZW1faW5wdXQsIHRhYl9lbXBsb3llZV9jb250YWN0X2NvbHVtbjIgKTtcblxuXHRcdC8vIEhvbWUgUGhvbmVcblx0XHRmb3JtX2l0ZW1faW5wdXQgPSBHbG9iYWwubG9hZFdpZGdldEJ5TmFtZSggRm9ybUl0ZW1UeXBlLlRFWFRfSU5QVVQgKTtcblx0XHRmb3JtX2l0ZW1faW5wdXQuVFRleHRJbnB1dCgge1xuXHRcdFx0ZmllbGQ6ICdob21lX3Bob25lJyxcblx0XHRcdHdpZHRoOiAyMDBcblx0XHR9ICk7XG5cdFx0dGhpcy5hZGRFZGl0RmllbGRUb0NvbHVtbiggJC5pMThuLl8oICdIb21lIFBob25lJyApLCBmb3JtX2l0ZW1faW5wdXQsIHRhYl9lbXBsb3llZV9jb250YWN0X2NvbHVtbjIgKTtcblxuXHRcdC8vIE1vYmlsZSBQaG9uZVxuXHRcdGZvcm1faXRlbV9pbnB1dCA9IEdsb2JhbC5sb2FkV2lkZ2V0QnlOYW1lKCBGb3JtSXRlbVR5cGUuVEVYVF9JTlBVVCApO1xuXHRcdGZvcm1faXRlbV9pbnB1dC5UVGV4dElucHV0KCB7XG5cdFx0XHRmaWVsZDogJ21vYmlsZV9waG9uZScsXG5cdFx0XHR3aWR0aDogMjAwXG5cdFx0fSApO1xuXHRcdHRoaXMuYWRkRWRpdEZpZWxkVG9Db2x1bW4oICQuaTE4bi5fKCAnTW9iaWxlIFBob25lJyApLCBmb3JtX2l0ZW1faW5wdXQsIHRhYl9lbXBsb3llZV9jb250YWN0X2NvbHVtbjIgKTtcblxuXHRcdC8vIEZheFxuXHRcdGZvcm1faXRlbV9pbnB1dCA9IEdsb2JhbC5sb2FkV2lkZ2V0QnlOYW1lKCBGb3JtSXRlbVR5cGUuVEVYVF9JTlBVVCApO1xuXHRcdGZvcm1faXRlbV9pbnB1dC5UVGV4dElucHV0KCB7XG5cdFx0XHRmaWVsZDogJ2ZheF9waG9uZScsXG5cdFx0XHR3aWR0aDogMjAwXG5cdFx0fSApO1xuXHRcdHRoaXMuYWRkRWRpdEZpZWxkVG9Db2x1bW4oICQuaTE4bi5fKCAnRmF4JyApLCBmb3JtX2l0ZW1faW5wdXQsIHRhYl9lbXBsb3llZV9jb250YWN0X2NvbHVtbjIgKTtcblxuXHRcdC8vIFdvcmsgRW1haWxcblx0XHRmb3JtX2l0ZW1faW5wdXQgPSBHbG9iYWwubG9hZFdpZGdldEJ5TmFtZSggRm9ybUl0ZW1UeXBlLlRFWFRfSU5QVVQgKTtcblx0XHRmb3JtX2l0ZW1faW5wdXQuVFRleHRJbnB1dCgge1xuXHRcdFx0ZmllbGQ6ICd3b3JrX2VtYWlsJyxcblx0XHRcdHdpZHRoOiAyMDBcblx0XHR9ICk7XG5cdFx0dGhpcy5hZGRFZGl0RmllbGRUb0NvbHVtbiggJC5pMThuLl8oICdXb3JrIEVtYWlsJyApLCBmb3JtX2l0ZW1faW5wdXQsIHRhYl9lbXBsb3llZV9jb250YWN0X2NvbHVtbjIgKTtcblxuXHRcdC8vIEhvbWUgRW1haWxcblx0XHRmb3JtX2l0ZW1faW5wdXQgPSBHbG9iYWwubG9hZFdpZGdldEJ5TmFtZSggRm9ybUl0ZW1UeXBlLlRFWFRfSU5QVVQgKTtcblx0XHRmb3JtX2l0ZW1faW5wdXQuVFRleHRJbnB1dCgge1xuXHRcdFx0ZmllbGQ6ICdob21lX2VtYWlsJyxcblx0XHRcdHdpZHRoOiAyMDBcblx0XHR9ICk7XG5cdFx0dGhpcy5hZGRFZGl0RmllbGRUb0NvbHVtbiggJC5pMThuLl8oICdIb21lIEVtYWlsJyApLCBmb3JtX2l0ZW1faW5wdXQsIHRhYl9lbXBsb3llZV9jb250YWN0X2NvbHVtbjIgKTtcblxuXHRcdC8vIEJpcnRoIERhdGVcblx0XHRmb3JtX2l0ZW1faW5wdXQgPSBHbG9iYWwubG9hZFdpZGdldEJ5TmFtZSggRm9ybUl0ZW1UeXBlLkRBVEVfUElDS0VSICk7XG5cdFx0Zm9ybV9pdGVtX2lucHV0LlREYXRlUGlja2VyKCB7XG5cdFx0XHRmaWVsZDogJ2JpcnRoX2RhdGUnXG5cdFx0fSApO1xuXHRcdHRoaXMuYWRkRWRpdEZpZWxkVG9Db2x1bW4oICQuaTE4bi5fKCAnQmlydGggRGF0ZScgKSwgZm9ybV9pdGVtX2lucHV0LCB0YWJfZW1wbG95ZWVfY29udGFjdF9jb2x1bW4yICk7XG5cblx0XHQvLyBTSU4gLyBTU05cblx0XHRmb3JtX2l0ZW1faW5wdXQgPSBHbG9iYWwubG9hZFdpZGdldEJ5TmFtZSggRm9ybUl0ZW1UeXBlLlRFWFRfSU5QVVQgKTtcblx0XHRmb3JtX2l0ZW1faW5wdXQuVFRleHRJbnB1dCgge1xuXHRcdFx0ZmllbGQ6ICdzaW4nLFxuXHRcdFx0d2lkdGg6IDIwMFxuXHRcdH0gKTtcblx0XHR0aGlzLmFkZEVkaXRGaWVsZFRvQ29sdW1uKCAkLmkxOG4uXyggJ1NJTiAvIFNTTicgKSwgZm9ybV9pdGVtX2lucHV0LCB0YWJfZW1wbG95ZWVfY29udGFjdF9jb2x1bW4yICk7XG5cblx0XHQvLyBOb3RlXG5cdFx0Zm9ybV9pdGVtX2lucHV0ID0gR2xvYmFsLmxvYWRXaWRnZXRCeU5hbWUoIEZvcm1JdGVtVHlwZS5URVhUX0FSRUEgKTtcblx0XHRmb3JtX2l0ZW1faW5wdXQuVFRleHRBcmVhKCB7XG5cdFx0XHRmaWVsZDogJ25vdGUnXG5cdFx0fSApO1xuXHRcdHRoaXMuYWRkRWRpdEZpZWxkVG9Db2x1bW4oICQuaTE4bi5fKCAnTm90ZScgKSwgZm9ybV9pdGVtX2lucHV0LCB0YWJfZW1wbG95ZWVfY29udGFjdF9jb2x1bW4yLCAnJywgbnVsbCwgbnVsbCwgdHJ1ZSApO1xuXG5cdFx0Ly8gVGFnc1xuXG5cdFx0Zm9ybV9pdGVtX2lucHV0ID0gR2xvYmFsLmxvYWRXaWRnZXRCeU5hbWUoIEZvcm1JdGVtVHlwZS5UQUdfSU5QVVQgKTtcblx0XHRmb3JtX2l0ZW1faW5wdXQuVFRhZ0lucHV0KCB7XG5cdFx0XHRmaWVsZDogJ3RhZycsXG5cdFx0XHRvYmplY3RfdHlwZV9pZDogMjMwXG5cdFx0fSApO1xuXHRcdHRoaXMuYWRkRWRpdEZpZWxkVG9Db2x1bW4oICQuaTE4bi5fKCAnVGFncycgKSwgZm9ybV9pdGVtX2lucHV0LCB0YWJfZW1wbG95ZWVfY29udGFjdF9jb2x1bW4yLCAnJywgbnVsbCwgbnVsbCwgdHJ1ZSApO1xuXHR9XG5cblx0YnVpbGRTZWFyY2hGaWVsZHMoKSB7XG5cdFx0Ly9zdXBlci5idWlsZFNlYXJjaEZpZWxkcygpO1xuXG5cdFx0dmFyIGRlZmF1bHRfYXJncyA9IHt9O1xuXHRcdGRlZmF1bHRfYXJncy5wZXJtaXNzaW9uX3NlY3Rpb24gPSAndXNlcl9jb250YWN0JztcblxuXHRcdHRoaXMuc2VhcmNoX2ZpZWxkcyA9IFtcblx0XHRcdG5ldyBTZWFyY2hGaWVsZCgge1xuXHRcdFx0XHRsYWJlbDogJC5pMThuLl8oICdFbXBsb3llZScgKSxcblx0XHRcdFx0aW5fY29sdW1uOiAxLFxuXHRcdFx0XHRkZWZhdWx0X2FyZ3M6IGRlZmF1bHRfYXJncyxcblx0XHRcdFx0ZmllbGQ6ICd1c2VyX2lkJyxcblx0XHRcdFx0bXVsdGlwbGU6IHRydWUsXG5cdFx0XHRcdGJhc2ljX3NlYXJjaDogdHJ1ZSxcblx0XHRcdFx0YWR2X3NlYXJjaDogdHJ1ZSxcblx0XHRcdFx0bGF5b3V0X25hbWU6ICdnbG9iYWxfdXNlcicsXG5cdFx0XHRcdGFwaV9jbGFzczogVFRBUEkuQVBJVXNlcixcblx0XHRcdFx0Zm9ybV9pdGVtX3R5cGU6IEZvcm1JdGVtVHlwZS5BV0VTT01FX0JPWFxuXHRcdFx0fSApLFxuXHRcdFx0bmV3IFNlYXJjaEZpZWxkKCB7XG5cdFx0XHRcdGxhYmVsOiAkLmkxOG4uXyggJ0ZpcnN0IE5hbWUnICksXG5cdFx0XHRcdGluX2NvbHVtbjogMSxcblx0XHRcdFx0ZmllbGQ6ICdmaXJzdF9uYW1lJyxcblx0XHRcdFx0YmFzaWNfc2VhcmNoOiB0cnVlLFxuXHRcdFx0XHRhZHZfc2VhcmNoOiB0cnVlLFxuXHRcdFx0XHRmb3JtX2l0ZW1fdHlwZTogRm9ybUl0ZW1UeXBlLlRFWFRfSU5QVVRcblx0XHRcdH0gKSxcblx0XHRcdG5ldyBTZWFyY2hGaWVsZCgge1xuXHRcdFx0XHRsYWJlbDogJC5pMThuLl8oICdMYXN0IE5hbWUnICksXG5cdFx0XHRcdGluX2NvbHVtbjogMSxcblx0XHRcdFx0ZmllbGQ6ICdsYXN0X25hbWUnLFxuXHRcdFx0XHRiYXNpY19zZWFyY2g6IHRydWUsXG5cdFx0XHRcdGFkdl9zZWFyY2g6IHRydWUsXG5cdFx0XHRcdGZvcm1faXRlbV90eXBlOiBGb3JtSXRlbVR5cGUuVEVYVF9JTlBVVFxuXHRcdFx0fSApLFxuXHRcdFx0bmV3IFNlYXJjaEZpZWxkKCB7XG5cdFx0XHRcdGxhYmVsOiAkLmkxOG4uXyggJ1Bob25lJyApLFxuXHRcdFx0XHRpbl9jb2x1bW46IDEsXG5cdFx0XHRcdGZpZWxkOiAnYW55X3Bob25lJyxcblx0XHRcdFx0YmFzaWNfc2VhcmNoOiBmYWxzZSxcblx0XHRcdFx0YWR2X3NlYXJjaDogdHJ1ZSxcblx0XHRcdFx0Zm9ybV9pdGVtX3R5cGU6IEZvcm1JdGVtVHlwZS5URVhUX0lOUFVUXG5cdFx0XHR9ICksXG5cdFx0XHRuZXcgU2VhcmNoRmllbGQoIHtcblx0XHRcdFx0bGFiZWw6ICQuaTE4bi5fKCAnRW1haWwnICksXG5cdFx0XHRcdGZpZWxkOiAnYW55X2VtYWlsJyxcblx0XHRcdFx0YmFzaWNfc2VhcmNoOiBmYWxzZSxcblx0XHRcdFx0YWR2X3NlYXJjaDogdHJ1ZSxcblx0XHRcdFx0aW5fY29sdW1uOiAxLFxuXHRcdFx0XHRmb3JtX2l0ZW1fdHlwZTogRm9ybUl0ZW1UeXBlLlRFWFRfSU5QVVRcblx0XHRcdH0gKSxcblxuXHRcdFx0bmV3IFNlYXJjaEZpZWxkKCB7XG5cdFx0XHRcdGxhYmVsOiAkLmkxOG4uXyggJ1N0YXR1cycgKSxcblx0XHRcdFx0aW5fY29sdW1uOiAyLFxuXHRcdFx0XHRmaWVsZDogJ3N0YXR1c19pZCcsXG5cdFx0XHRcdG11bHRpcGxlOiB0cnVlLFxuXHRcdFx0XHRiYXNpY19zZWFyY2g6IHRydWUsXG5cdFx0XHRcdGFkdl9zZWFyY2g6IHRydWUsXG5cdFx0XHRcdGxheW91dF9uYW1lOiAnZ2xvYmFsX29wdGlvbl9jb2x1bW4nLFxuXHRcdFx0XHRmb3JtX2l0ZW1fdHlwZTogRm9ybUl0ZW1UeXBlLkFXRVNPTUVfQk9YXG5cdFx0XHR9ICksXG5cdFx0XHRuZXcgU2VhcmNoRmllbGQoIHtcblx0XHRcdFx0bGFiZWw6ICQuaTE4bi5fKCAnVHlwZScgKSxcblx0XHRcdFx0aW5fY29sdW1uOiAyLFxuXHRcdFx0XHRmaWVsZDogJ3R5cGVfaWQnLFxuXHRcdFx0XHRtdWx0aXBsZTogdHJ1ZSxcblx0XHRcdFx0YmFzaWNfc2VhcmNoOiB0cnVlLFxuXHRcdFx0XHRhZHZfc2VhcmNoOiB0cnVlLFxuXHRcdFx0XHRsYXlvdXRfbmFtZTogJ2dsb2JhbF9vcHRpb25fY29sdW1uJyxcblx0XHRcdFx0Zm9ybV9pdGVtX3R5cGU6IEZvcm1JdGVtVHlwZS5BV0VTT01FX0JPWFxuXHRcdFx0fSApLFxuXHRcdFx0bmV3IFNlYXJjaEZpZWxkKCB7XG5cdFx0XHRcdGxhYmVsOiAkLmkxOG4uXyggJ0dlbmRlcicgKSxcblx0XHRcdFx0aW5fY29sdW1uOiAyLFxuXHRcdFx0XHRmaWVsZDogJ3NleF9pZCcsXG5cdFx0XHRcdG11bHRpcGxlOiB0cnVlLFxuXHRcdFx0XHRiYXNpY19zZWFyY2g6IGZhbHNlLFxuXHRcdFx0XHRhZHZfc2VhcmNoOiB0cnVlLFxuXHRcdFx0XHRsYXlvdXRfbmFtZTogJ2dsb2JhbF9vcHRpb25fY29sdW1uJyxcblx0XHRcdFx0Zm9ybV9pdGVtX3R5cGU6IEZvcm1JdGVtVHlwZS5BV0VTT01FX0JPWFxuXHRcdFx0fSApLFxuXHRcdFx0bmV3IFNlYXJjaEZpZWxkKCB7XG5cdFx0XHRcdGxhYmVsOiAkLmkxOG4uXyggJ1RhZ3MnICksXG5cdFx0XHRcdGluX2NvbHVtbjogMixcblx0XHRcdFx0ZmllbGQ6ICd0YWcnLFxuXHRcdFx0XHRiYXNpY19zZWFyY2g6IHRydWUsXG5cdFx0XHRcdGFkdl9zZWFyY2g6IHRydWUsXG5cdFx0XHRcdG9iamVjdF90eXBlX2lkOiAyMzAsXG5cdFx0XHRcdGZvcm1faXRlbV90eXBlOiBGb3JtSXRlbVR5cGUuVEFHX0lOUFVUXG5cdFx0XHR9ICksXG5cdFx0XHRuZXcgU2VhcmNoRmllbGQoIHtcblx0XHRcdFx0bGFiZWw6ICQuaTE4bi5fKCAnQ291bnRyeScgKSxcblx0XHRcdFx0aW5fY29sdW1uOiAzLFxuXHRcdFx0XHRmaWVsZDogJ2NvdW50cnknLFxuXHRcdFx0XHRtdWx0aXBsZTogdHJ1ZSxcblx0XHRcdFx0YmFzaWNfc2VhcmNoOiBmYWxzZSxcblx0XHRcdFx0YWR2X3NlYXJjaDogdHJ1ZSxcblx0XHRcdFx0bGF5b3V0X25hbWU6ICdnbG9iYWxfb3B0aW9uX2NvbHVtbicsXG5cdFx0XHRcdGZvcm1faXRlbV90eXBlOiBGb3JtSXRlbVR5cGUuQ09NQk9fQk9YXG5cdFx0XHR9ICksXG5cdFx0XHRuZXcgU2VhcmNoRmllbGQoIHtcblx0XHRcdFx0bGFiZWw6ICQuaTE4bi5fKCAnUHJvdmluY2UvU3RhdGUnICksXG5cdFx0XHRcdGluX2NvbHVtbjogMyxcblx0XHRcdFx0ZmllbGQ6ICdwcm92aW5jZScsXG5cdFx0XHRcdG11bHRpcGxlOiB0cnVlLFxuXHRcdFx0XHRiYXNpY19zZWFyY2g6IGZhbHNlLFxuXHRcdFx0XHRhZHZfc2VhcmNoOiB0cnVlLFxuXHRcdFx0XHRsYXlvdXRfbmFtZTogJ2dsb2JhbF9vcHRpb25fY29sdW1uJyxcblx0XHRcdFx0Zm9ybV9pdGVtX3R5cGU6IEZvcm1JdGVtVHlwZS5BV0VTT01FX0JPWFxuXHRcdFx0fSApLFxuXHRcdFx0bmV3IFNlYXJjaEZpZWxkKCB7XG5cdFx0XHRcdGxhYmVsOiAkLmkxOG4uXyggJ0NpdHknICksXG5cdFx0XHRcdGluX2NvbHVtbjogMyxcblx0XHRcdFx0ZmllbGQ6ICdjaXR5Jyxcblx0XHRcdFx0YmFzaWNfc2VhcmNoOiBmYWxzZSxcblx0XHRcdFx0YWR2X3NlYXJjaDogdHJ1ZSxcblx0XHRcdFx0Zm9ybV9pdGVtX3R5cGU6IEZvcm1JdGVtVHlwZS5URVhUX0lOUFVUXG5cdFx0XHR9ICksXG5cdFx0XHRuZXcgU2VhcmNoRmllbGQoIHtcblx0XHRcdFx0bGFiZWw6ICQuaTE4bi5fKCAnU0lOL1NTTicgKSxcblx0XHRcdFx0aW5fY29sdW1uOiAzLFxuXHRcdFx0XHRmaWVsZDogJ3NpbicsXG5cdFx0XHRcdGJhc2ljX3NlYXJjaDogZmFsc2UsXG5cdFx0XHRcdGFkdl9zZWFyY2g6IHRydWUsXG5cdFx0XHRcdGZvcm1faXRlbV90eXBlOiBGb3JtSXRlbVR5cGUuVEVYVF9JTlBVVFxuXHRcdFx0fSApXG5cblx0XHRdO1xuXHR9XG5cblx0c2V0UHJvdmluY2UoIHZhbCwgbSApIHtcblx0XHR2YXIgJHRoaXMgPSB0aGlzO1xuXG5cdFx0aWYgKCAhdmFsIHx8IHZhbCA9PT0gJy0xJyB8fCB2YWwgPT09ICcwJyApIHtcblx0XHRcdCR0aGlzLnByb3ZpbmNlX2FycmF5ID0gW107XG5cdFx0XHR0aGlzLmFkdl9zZWFyY2hfZmllbGRfdWlfZGljWydwcm92aW5jZSddLnNldFNvdXJjZURhdGEoIFtdICk7XG5cdFx0fSBlbHNlIHtcblxuXHRcdFx0dGhpcy5jb21wYW55X2FwaS5nZXRPcHRpb25zKCAncHJvdmluY2UnLCB2YWwsIHtcblx0XHRcdFx0b25SZXN1bHQ6IGZ1bmN0aW9uKCByZXMgKSB7XG5cdFx0XHRcdFx0cmVzID0gcmVzLmdldFJlc3VsdCgpO1xuXHRcdFx0XHRcdGlmICggIXJlcyApIHtcblx0XHRcdFx0XHRcdHJlcyA9IFtdO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdCR0aGlzLnByb3ZpbmNlX2FycmF5ID0gR2xvYmFsLmJ1aWxkUmVjb3JkQXJyYXkoIHJlcyApO1xuXHRcdFx0XHRcdCR0aGlzLmFkdl9zZWFyY2hfZmllbGRfdWlfZGljWydwcm92aW5jZSddLnNldFNvdXJjZURhdGEoICR0aGlzLnByb3ZpbmNlX2FycmF5ICk7XG5cblx0XHRcdFx0fVxuXHRcdFx0fSApO1xuXHRcdH1cblx0fVxuXG5cdGVTZXRQcm92aW5jZSggdmFsLCByZWZyZXNoICkge1xuXHRcdHZhciAkdGhpcyA9IHRoaXM7XG5cdFx0dmFyIHByb3ZpbmNlX3dpZGdldCA9ICR0aGlzLmVkaXRfdmlld191aV9kaWNbJ3Byb3ZpbmNlJ107XG5cblx0XHRpZiAoICF2YWwgfHwgdmFsID09PSAnLTEnIHx8IHZhbCA9PT0gJzAnICkge1xuXHRcdFx0JHRoaXMuZV9wcm92aW5jZV9hcnJheSA9IFtdO1xuXHRcdFx0cHJvdmluY2Vfd2lkZ2V0LnNldFNvdXJjZURhdGEoIFtdICk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMuY29tcGFueV9hcGkuZ2V0T3B0aW9ucyggJ3Byb3ZpbmNlJywgdmFsLCB7XG5cdFx0XHRcdG9uUmVzdWx0OiBmdW5jdGlvbiggcmVzICkge1xuXHRcdFx0XHRcdHJlcyA9IHJlcy5nZXRSZXN1bHQoKTtcblx0XHRcdFx0XHRpZiAoICFyZXMgKSB7XG5cdFx0XHRcdFx0XHRyZXMgPSBbXTtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQkdGhpcy5lX3Byb3ZpbmNlX2FycmF5ID0gR2xvYmFsLmJ1aWxkUmVjb3JkQXJyYXkoIHJlcyApO1xuXHRcdFx0XHRcdGlmICggcmVmcmVzaCAmJiAkdGhpcy5lX3Byb3ZpbmNlX2FycmF5Lmxlbmd0aCA+IDAgKSB7XG5cdFx0XHRcdFx0XHQkdGhpcy5jdXJyZW50X2VkaXRfcmVjb3JkLnByb3ZpbmNlID0gJHRoaXMuZV9wcm92aW5jZV9hcnJheVswXS52YWx1ZTtcblx0XHRcdFx0XHRcdHByb3ZpbmNlX3dpZGdldC5zZXRWYWx1ZSggJHRoaXMuY3VycmVudF9lZGl0X3JlY29yZC5wcm92aW5jZSApO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdHByb3ZpbmNlX3dpZGdldC5zZXRTb3VyY2VEYXRhKCAkdGhpcy5lX3Byb3ZpbmNlX2FycmF5ICk7XG5cblx0XHRcdFx0fVxuXHRcdFx0fSApO1xuXHRcdH1cblx0fVxuXG5cdG9uU2V0U2VhcmNoRmlsdGVyRmluaXNoZWQoKSB7XG5cblx0XHRpZiAoIHRoaXMuc2VhcmNoX3BhbmVsLmdldFNlbGVjdFRhYkluZGV4KCkgPT09IDEgKSB7XG5cdFx0XHR2YXIgY29tYm8gPSB0aGlzLmFkdl9zZWFyY2hfZmllbGRfdWlfZGljWydjb3VudHJ5J107XG5cdFx0XHR2YXIgc2VsZWN0X3ZhbHVlID0gY29tYm8uZ2V0VmFsdWUoKTtcblx0XHRcdHRoaXMuc2V0UHJvdmluY2UoIHNlbGVjdF92YWx1ZSApO1xuXHRcdH1cblx0fVxuXG5cdG9uQnVpbGRBZHZVSUZpbmlzaGVkKCkge1xuXG5cdFx0dGhpcy5hZHZfc2VhcmNoX2ZpZWxkX3VpX2RpY1snY291bnRyeSddLmNoYW5nZSggJC5wcm94eSggZnVuY3Rpb24oKSB7XG5cdFx0XHR2YXIgY29tYm8gPSB0aGlzLmFkdl9zZWFyY2hfZmllbGRfdWlfZGljWydjb3VudHJ5J107XG5cdFx0XHR2YXIgc2VsZWN0VmFsID0gY29tYm8uZ2V0VmFsdWUoKTtcblxuXHRcdFx0dGhpcy5zZXRQcm92aW5jZSggc2VsZWN0VmFsICk7XG5cblx0XHRcdHRoaXMuYWR2X3NlYXJjaF9maWVsZF91aV9kaWNbJ3Byb3ZpbmNlJ10uc2V0VmFsdWUoIG51bGwgKTtcblxuXHRcdH0sIHRoaXMgKSApO1xuXHR9XG5cblx0c2VhcmNoRG9uZSgpIHtcblx0XHRzdXBlci5zZWFyY2hEb25lKCk7XG5cdFx0VFRQcm9taXNlLnJlc29sdmUoICdDb250YWN0VmlldycsICdpbml0JyApO1xuXHR9XG59XG5cblVzZXJDb250YWN0Vmlld0NvbnRyb2xsZXIubG9hZFN1YlZpZXcgPSBmdW5jdGlvbiggY29udGFpbmVyLCBiZWZvcmVWaWV3TG9hZGVkRnVuLCBhZnRlclZpZXdMb2FkZWRGdW4gKSB7XG5cblx0R2xvYmFsLmxvYWRWaWV3U291cmNlKCAnVXNlckNvbnRhY3QnLCAnU3ViVXNlckNvbnRhY3RWaWV3Lmh0bWwnLCBmdW5jdGlvbiggcmVzdWx0ICkge1xuXHRcdHZhciBhcmdzID0ge307XG5cdFx0dmFyIHRlbXBsYXRlID0gXy50ZW1wbGF0ZSggcmVzdWx0ICk7XG5cblx0XHRpZiAoIEdsb2JhbC5pc1NldCggYmVmb3JlVmlld0xvYWRlZEZ1biApICkge1xuXHRcdFx0YmVmb3JlVmlld0xvYWRlZEZ1bigpO1xuXHRcdH1cblxuXHRcdGlmICggR2xvYmFsLmlzU2V0KCBjb250YWluZXIgKSApIHtcblx0XHRcdGNvbnRhaW5lci5odG1sKCB0ZW1wbGF0ZSggYXJncyApICk7XG5cdFx0XHRpZiAoIEdsb2JhbC5pc1NldCggYWZ0ZXJWaWV3TG9hZGVkRnVuICkgKSB7XG5cdFx0XHRcdGFmdGVyVmlld0xvYWRlZEZ1biggc3ViX3VzZXJfY29udGFjdF92aWV3X2NvbnRyb2xsZXIgKTtcblx0XHRcdH1cblx0XHR9XG5cdH0gKTtcbn07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///6738\n")}}]);