1789595940
c05b9b66eacc8e11cfd97f370d355f8b-phpdoc%3A2f481641d55e2f13144f386ccb40461f-87d448597cd94578a5b416c235372a88
s:8624:"TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIjoxNDp7czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBuYW1lIjtzOjExOiJoYXNoUFdELnBocCI7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBuYW1lc3BhY2VzIjthOjA6e31zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGluY2x1ZGVzIjthOjA6e31zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGZ1bmN0aW9ucyI7YTowOnt9czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBjb25zdGFudHMiO2E6MDp7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAY2xhc3NlcyI7YTowOnt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBpbnRlcmZhY2VzIjthOjA6e31zOjQxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAHRyYWl0cyI7YTowOnt9czo0MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBlbnVtcyI7YTowOnt9czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBoYXNoIjtzOjMyOiI4N2Q0NDg1OTdjZDk0NTc4YTViNDE2YzIzNTM3MmE4OCI7czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBwYXRoIjtzOjQwOiJiYWNrZW5kL3V0aWxzL2tleXNfZ2VuZXJhdG9yL2hhc2hQV0QucGhwIjtzOjQxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAHNvdXJjZSI7czo1NTQ4OiI8P3BocA0KJGhhc2hlZFBhc3N3b3JkID0gJyc7DQokdmVyaWZ5TWVzc2FnZSA9ICcnOw0KJHZlcmlmeUNvbG9yID0gJyc7DQoNCi8vIENvbXByb2JhbW9zIHNpIHNlIGhhIGVudmlhZG8gZWwgZm9ybXVsYXJpbw0KaWYgKCRfU0VSVkVSWydSRVFVRVNUX01FVEhPRCddID09PSAnUE9TVCcpIHsNCg0KICAgIGlmIChpc3NldCgkX1BPU1RbJ2FjdGlvbiddKSAmJiAkX1BPU1RbJ2FjdGlvbiddID09PSAnaGFzaCcpIHsNCiAgICAgICAgJHBhc3N3b3JkVG9IYXNoID0gJF9QT1NUWydwYXNzd29yZF90b19oYXNoJ10gPz8gJyc7DQogICAgICAgIGlmICghZW1wdHkoJHBhc3N3b3JkVG9IYXNoKSkgew0KICAgICAgICAgICAgJGhhc2hlZFBhc3N3b3JkID0gcGFzc3dvcmRfaGFzaCgkcGFzc3dvcmRUb0hhc2gsIFBBU1NXT1JEX0RFRkFVTFQpOw0KICAgICAgICB9DQogICAgfQ0KDQogICAgaWYgKGlzc2V0KCRfUE9TVFsnYWN0aW9uJ10pICYmICRfUE9TVFsnYWN0aW9uJ10gPT09ICd2ZXJpZnknKSB7DQogICAgICAgICRwYXNzd29yZFRvVmVyaWZ5ID0gJF9QT1NUWydwYXNzd29yZF90b192ZXJpZnknXSA/PyAnJzsNCiAgICAgICAgJGhhc2hUb1ZlcmlmeSA9ICRfUE9TVFsnaGFzaF90b192ZXJpZnknXSA/PyAnJzsNCg0KICAgICAgICBpZiAoIWVtcHR5KCRwYXNzd29yZFRvVmVyaWZ5KSAmJiAhZW1wdHkoJGhhc2hUb1ZlcmlmeSkpIHsNCiAgICAgICAgICAgIGlmIChwYXNzd29yZF92ZXJpZnkoJHBhc3N3b3JkVG9WZXJpZnksICRoYXNoVG9WZXJpZnkpKSB7DQogICAgICAgICAgICAgICAgJHZlcmlmeU1lc3NhZ2UgPSAnwqHDiVhJVE8hIExhIGNvbnRyYXNlw7FhIGVzIGNvcnJlY3RhIHkgY29pbmNpZGUgY29uIGVsIGhhc2guJzsNCiAgICAgICAgICAgICAgICAkdmVyaWZ5Q29sb3IgPSAnIzE1NTcyNCc7DQogICAgICAgICAgICAgICAgJGJnQ29sb3IgPSAnI2Q0ZWRkYSc7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICR2ZXJpZnlNZXNzYWdlID0gJ0VSUk9SOiBMYSBjb250cmFzZcOxYSBOTyBjb2luY2lkZSBjb24gZWwgaGFzaC4nOw0KICAgICAgICAgICAgICAgICR2ZXJpZnlDb2xvciA9ICcjNzIxYzI0JzsNCiAgICAgICAgICAgICAgICAkYmdDb2xvciA9ICcjZjhkN2RhJzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgIH0NCn0NCj8+DQoNCjwhRE9DVFlQRSBodG1sPg0KPGh0bWwgbGFuZz0iZXMiPg0KPGhlYWQ+DQogICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPg0KICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MS4wIj4NCiAgICA8dGl0bGU+R2VuZXJhZG9yIHkgVmVyaWZpY2Fkb3IgZGUgQ29udHJhc2XDsWFzIFBIUDwvdGl0bGU+DQogICAgPHN0eWxlPg0KICAgICAgICBib2R5IHsNCiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnU2Vnb2UgVUknLCBUYWhvbWEsIEdlbmV2YSwgVmVyZGFuYSwgc2Fucy1zZXJpZjsNCiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGYyZjU7DQogICAgICAgICAgICBjb2xvcjogIzMzMzsNCiAgICAgICAgICAgIG1hcmdpbjogMDsNCiAgICAgICAgICAgIHBhZGRpbmc6IDQwcHggMjBweDsNCiAgICAgICAgfQ0KICAgICAgICAuY29udGFpbmVyIHsNCiAgICAgICAgICAgIG1heC13aWR0aDogNjAwcHg7DQogICAgICAgICAgICBtYXJnaW46IDAgYXV0bzsNCiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7DQogICAgICAgICAgICBwYWRkaW5nOiAzMHB4Ow0KICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDsNCiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDEwcHggcmdiYSgwLDAsMCwwLjEpOw0KICAgICAgICB9DQogICAgICAgIGgxIHsNCiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDsNCiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7DQogICAgICAgICAgICBjb2xvcjogIzJjM2U1MDsNCiAgICAgICAgfQ0KICAgICAgICBoMiB7DQogICAgICAgICAgICBmb250LXNpemU6IDE4cHg7DQogICAgICAgICAgICBjb2xvcjogIzM0NDk1ZTsNCiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZWNmMGYxOw0KICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7DQogICAgICAgIH0NCiAgICAgICAgLnNlY3Rpb24gew0KICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsNCiAgICAgICAgfQ0KICAgICAgICBsYWJlbCB7DQogICAgICAgICAgICBkaXNwbGF5OiBibG9jazsNCiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDhweDsNCiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOw0KICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4Ow0KICAgICAgICB9DQogICAgICAgIGlucHV0W3R5cGU9InRleHQiXSB7DQogICAgICAgICAgICB3aWR0aDogMTAwJTsNCiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7DQogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4Ow0KICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NjYzsNCiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDsNCiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7DQogICAgICAgICAgICBmb250LXNpemU6IDE0cHg7DQogICAgICAgIH0NCiAgICAgICAgYnV0dG9uIHsNCiAgICAgICAgICAgIHdpZHRoOiAxMDAlOw0KICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzM0OThkYjsNCiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTsNCiAgICAgICAgICAgIHBhZGRpbmc6IDEycHg7DQogICAgICAgICAgICBib3JkZXI6IG5vbmU7DQogICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7DQogICAgICAgICAgICBmb250LXNpemU6IDE2cHg7DQogICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7DQogICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3M7DQogICAgICAgIH0NCiAgICAgICAgYnV0dG9uOmhvdmVyIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyOTgwYjk7DQogICAgICAgIH0NCiAgICAgICAgLnJlc3VsdC1ib3ggew0KICAgICAgICAgICAgbWFyZ2luLXRvcDogMTVweDsNCiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHg7DQogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZThmNGZkOw0KICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCAjMzQ5OGRiOw0KICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4Ow0KICAgICAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkOw0KICAgICAgICB9DQogICAgICAgIC52ZXJpZnktYWxlcnQgew0KICAgICAgICAgICAgbWFyZ2luLXRvcDogMTVweDsNCiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHg7DQogICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7DQogICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDsNCiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICAgICAgfQ0KICAgIDwvc3R5bGU+DQo8L2hlYWQ+DQo8Ym9keT4NCg0KPGRpdiBjbGFzcz0iY29udGFpbmVyIj4NCiAgICA8aDE+8J+UkCBQSFAgUGFzc3dvcmQgSGFzaCAmIFZlcmlmeTwvaDE+DQoNCiAgICA8IS0tIFNFQ0NJw5NOIDE6IEdFTkVSQVIgSEFTSCAtLT4NCiAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4NCiAgICAgICAgPGgyPjEuIEVuY3JpcHRhciB1bmEgY29udHJhc2XDsWE8L2gyPg0KICAgICAgICA8Zm9ybSBtZXRob2Q9IlBPU1QiPg0KICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iYWN0aW9uIiB2YWx1ZT0iaGFzaCI+DQoNCiAgICAgICAgICAgIDxsYWJlbCBmb3I9InBhc3N3b3JkX3RvX2hhc2giPkludHJvZHVjZSBsYSBjb250cmFzZcOxYSBlbiB0ZXh0byBwbGFubzo8L2xhYmVsPg0KICAgICAgICAgICAgPCEtLSBVc2Ftb3MgdHlwZT0idGV4dCIgZW4gbHVnYXIgZGUgInBhc3N3b3JkIiBwYXJhIHF1ZSB2ZWFzIGxvIHF1ZSBlc2NyaWJlcyBmw6FjaWxtZW50ZSAtLT4NCiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0icGFzc3dvcmRfdG9faGFzaCIgbmFtZT0icGFzc3dvcmRfdG9faGFzaCIgcGxhY2Vob2xkZXI9IkVqOiBNaVN1cGVyQ2xhdmUxMjMiIHJlcXVpcmVkPg0KDQogICAgICAgICAgICA8YnV0dG9uIHR5cGU9InN1Ym1pdCI+R2VuZXJhciBIYXNoPC9idXR0b24+DQogICAgICAgIDwvZm9ybT4NCg0KICAgICAgICA8P3BocCBpZiAoJGhhc2hlZFBhc3N3b3JkKTogPz4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlc3VsdC1ib3giPg0KICAgICAgICAgICAgICAgIDxzdHJvbmc+SGFzaCBnZW5lcmFkbzo8L3N0cm9uZz48YnI+PGJyPg0KICAgICAgICAgICAgICAgIDxjb2RlIHN0eWxlPSJmb250LXNpemU6IDE2cHg7Ij48P3BocCBlY2hvIGh0bWxzcGVjaWFsY2hhcnMoJGhhc2hlZFBhc3N3b3JkKTsgPz48L2NvZGU+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPD9waHAgZW5kaWY7ID8+DQogICAgPC9kaXY+DQoNCiAgICA8IS0tIFNFQ0NJw5NOIDI6IFZFUklGSUNBUiBIQVNIIC0tPg0KICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iIHN0eWxlPSJtYXJnaW4tYm90dG9tOiAwOyI+DQogICAgICAgIDxoMj4yLiBDb21wcm9iYXIgdW5hIGNvbnRyYXNlw7FhPC9oMj4NCiAgICAgICAgPGZvcm0gbWV0aG9kPSJQT1NUIj4NCiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImFjdGlvbiIgdmFsdWU9InZlcmlmeSI+DQoNCiAgICAgICAgICAgIDxsYWJlbCBmb3I9InBhc3N3b3JkX3RvX3ZlcmlmeSI+Q29udHJhc2XDsWEgYSBwcm9iYXI6PC9sYWJlbD4NCiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0icGFzc3dvcmRfdG9fdmVyaWZ5IiBuYW1lPSJwYXNzd29yZF90b192ZXJpZnkiIHBsYWNlaG9sZGVyPSJMYSBjb250cmFzZcOxYSBzaW4gZW5jcmlwdGFyIiByZXF1aXJlZD4NCg0KICAgICAgICAgICAgPGxhYmVsIGZvcj0iaGFzaF90b192ZXJpZnkiPkhhc2ggZW5jcmlwdGFkbzo8L2xhYmVsPg0KICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIGlkPSJoYXNoX3RvX3ZlcmlmeSIgbmFtZT0iaGFzaF90b192ZXJpZnkiIHBsYWNlaG9sZGVyPSIkMnkkMTAkLi4uIiByZXF1aXJlZD4NCg0KICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJzdWJtaXQiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiAjMmVjYzcxOyI+VmVyaWZpY2FyIENvaW5jaWRlbmNpYTwvYnV0dG9uPg0KICAgICAgICA8L2Zvcm0+DQoNCiAgICAgICAgPD9waHAgaWYgKCR2ZXJpZnlNZXNzYWdlKTogPz4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InZlcmlmeS1hbGVydCIgc3R5bGU9ImNvbG9yOiA8P3BocCBlY2hvICR2ZXJpZnlDb2xvcjsgPz47IGJhY2tncm91bmQtY29sb3I6IDw/cGhwIGVjaG8gJGJnQ29sb3I7ID8+OyI+DQogICAgICAgICAgICAgICAgPD9waHAgZWNobyAkdmVyaWZ5TWVzc2FnZTsgPz4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8P3BocCBlbmRpZjsgPz4NCiAgICA8L2Rpdj4NCjwvZGl2Pg0KDQo8L2JvZHk+DQo8L2h0bWw+IjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGRvY0Jsb2NrIjtOO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAbWV0YWRhdGEiO2E6MDp7fX0=";