PCEtLSBJbWFnZSBEaW1lbnNpb25zIEZpeCDigJQg2KzZhNmI2q/bjNix24wg2KfYsiBDTFMgLS0+CjxzdHlsZT4KaW1nOm5vdChbd2lkdGhdKTpub3QoW2hlaWdodF0pOm5vdChbc3R5bGUqPSJ3aWR0aCJdKTpub3QoW3N0eWxlKj0iaGVpZ2h0Il0pIHsKICAgIG1heC13aWR0aDogMTAwJTsKICAgIGhlaWdodDogYXV0bzsKfQo8L3N0eWxlPgoKCgoKPCEtLSBTa2lwIE5hdmlnYXRpb24gLS0+CjxhIGhyZWY9IiNtYWluLWNvbnRlbnQiIGNsYXNzPSJza2lwLW5hdiIgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlO3RvcDotMTAwcHg7bGVmdDowO2JhY2tncm91bmQ6I2VmNTQwYTtjb2xvcjp3aGl0ZTtwYWRkaW5nOjEwcHggMjBweDt6LWluZGV4Ojk5OTk7Zm9udC1zaXplOjE2cHg7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Ym9yZGVyLXJhZGl1czowIDAgNXB4IDA7Ij7YsdmB2KrZhiDYqNmHINmF2K3YqtmI2KfbjCDYp9i12YTbjDwvYT4KCjwhLS0gVGl0bGUgKyBNZXRhIERlc2NyaXB0aW9uINin2LIg2KrZhti424zZhdin2Kog2LXZgdit2Ycg2KfYtdmE24wg2KfYudmF2KfZhCDZhduM4oCM2LTZhyAtLT4KPCEtLSByb2JvdHMgbWV0YSDYqtmI2LPYtyBDTVMg2KrZiNmE24zYryDZhduM4oCM2LTZhyAtLT4KPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPgo8bWV0YSBuYW1lPSJ0aGVtZS1jb2xvciIgY29udGVudD0iI2VmNTQwYSI+Cgo8IS0tIE9HIFRhZ3MgLS0+CjxtZXRhIHByb3BlcnR5PSJvZzp0aXRsZSIgY29udGVudD0i2KfZhNmI2KfZhiDZhdin2LHaqdiqIHwg2K7YsduM2K8g2KraqSDZiCDYudmF2K/ZhyDZhNmI2KfYstmFINiu2KfZhtqv24zYjCDZvtmI2LTYp9qpINmIINii2LHYp9uM2LTbjCI+CjxtZXRhIHByb3BlcnR5PSJvZzpkZXNjcmlwdGlvbiIgY29udGVudD0i2YHYsdmI2LTar9in2Ycg2KfbjNmG2KrYsdmG2KrbjCDZvtiu2LQg2LnZhdiv2Ycg2YTZiNin2LLZhSDYrtin2Ybar9uM2Iwg2b7ZiNi02KfaqdiMINii2LHYp9uM2LTbjCDZiCDYp9io2LLYp9ix2KLZhNin2Kog2KjYpyDYqNmH2KrYsduM2YYg2YLbjNmF2KoiPgo8bWV0YSBwcm9wZXJ0eT0ib2c6aW1hZ2UiIGNvbnRlbnQ9Imh0dHBzOi8vd3d3LmFsdmFubWFya2V0LmNvbS9pbWFnZXMvbG9nby5wbmciPgo8bWV0YSBwcm9wZXJ0eT0ib2c6dXJsIiBjb250ZW50PSJodHRwczovL3d3dy5hbHZhbm1hcmtldC5jb20iPgo8bWV0YSBwcm9wZXJ0eT0ib2c6dHlwZSIgY29udGVudD0id2Vic2l0ZSI+CjxtZXRhIHByb3BlcnR5PSJvZzpzaXRlX25hbWUiIGNvbnRlbnQ9Itin2YTZiNin2YYg2YXYp9ix2qnYqiI+CjxtZXRhIHByb3BlcnR5PSJvZzpsb2NhbGUiIGNvbnRlbnQ9ImZhX0lSIj4KCjwhLS0gVHdpdHRlciBDYXJkIC0tPgo8bWV0YSBuYW1lPSJ0d2l0dGVyOmNhcmQiIGNvbnRlbnQ9InN1bW1hcnlfbGFyZ2VfaW1hZ2UiPgo8bWV0YSBuYW1lPSJ0d2l0dGVyOnRpdGxlIiBjb250ZW50PSLYp9mE2YjYp9mGINmF2KfYsdqp2KogfCDYrtix24zYryDYqtqpINmIINi52YXYr9mHINmE2YjYp9iy2YUg2K7Yp9mG2q/bjNiMINm+2YjYtNin2qkg2Ygg2KLYsdin24zYtNuMIj4KPG1ldGEgbmFtZT0idHdpdHRlcjpkZXNjcmlwdGlvbiIgY29udGVudD0i2YHYsdmI2LTar9in2Ycg2KfbjNmG2KrYsdmG2KrbjCDZvtiu2LQg2LnZhdiv2Ycg2YTZiNin2LLZhSDYrtin2Ybar9uM2Iwg2b7ZiNi02KfaqdiMINii2LHYp9uM2LTbjCDYqNmH2K/Yp9i02KrbjNiMINin2KjYstin2LHYotmE2KfYqtiMINi52LfYsSDZiCDYp9iv2qnZhNmGINio2Kcg2KjZh9iq2LHbjNmGINmC24zZhdiqIj4KPG1ldGEgbmFtZT0idHdpdHRlcjppbWFnZSIgY29udGVudD0iaHR0cHM6Ly93d3cuYWx2YW5tYXJrZXQuY29tL2ltYWdlcy9sb2dvLnBuZyI+CjwhLS0gQ2Fub25pY2FsINiq2YjYs9i3IENNUyDYqtmI2YTbjNivINmF24zigIzYtNmHIC0tPgo8bGluayByZWw9ImFsdGVybmF0ZSIgaHJlZmxhbmc9ImZhIiBocmVmPSJodHRwczovL3d3dy5hbHZhbm1hcmtldC5jb20iPgoKPCEtLSBBcHBsZSBUb3VjaCBJY29uIC0tPgo8bGluayByZWw9ImFwcGxlLXRvdWNoLWljb24iIGhyZWY9Imh0dHBzOi8vd3d3LmFsdmFubWFya2V0LmNvbS9mYXZpY29uLmljbyI+Cgo8IS0tIFByZWNvbm5lY3QgJiBETlMtUHJlZmV0Y2ggLS0+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0IiBjcm9zc29yaWdpbj4KPCEtLSBnb2Z0aW5vLmNvbSBwcmVjb25uZWN0IHJlbW92ZWQgLS0+CjxsaW5rIHJlbD0iZG5zLXByZWZldGNoIiBocmVmPSJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQiPgo8IS0tIGdvZnRpbm8uY29tIGRucy1wcmVmZXRjaCByZW1vdmVkIC0tPgo8bGluayByZWw9ImRucy1wcmVmZXRjaCIgaHJlZj0iaHR0cHM6Ly90cnVzdHNlYWwuZW5hbWFkLmlyIj4KCjwhLS0gRm9udCBQcmVsb2FkIC0tPgo8bGluayByZWw9InByZWxvYWQiIGhyZWY9ImFzc2V0L3RoZW1lL2lyYW55ZWthbndlYnJlZ3VsYXJmYW51bS53b2ZmMiIgYXM9ImZvbnQiIHR5cGU9ImZvbnQvd29mZjIiIGNyb3Nzb3JpZ2luPgoKPCEtLSBDV1Y6IENMUyBGaXgg4oCUINix2YHYuSDYrNin2KjYrNin24zbjCDYqti12KfZiNuM2LEgLS0+CjxzdHlsZT4KaW1nOm5vdChbd2lkdGhdKTpub3QoW2hlaWdodF0pOm5vdChbc3R5bGUqPSJ3aWR0aDoxMDAlIl0pOm5vdCguc3dpcGVyLXNsaWRlIGltZyk6bm90KC5teWhlYWRlciBpbWcpOm5vdCguY2F0ZWdvcnktaGVhZGVyIGltZykgewogICAgYXNwZWN0LXJhdGlvOiAxNi85ICFpbXBvcnRhbnQ7CiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OwogICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7CiAgICBvYmplY3QtZml0OiBjb250YWluICFpbXBvcnRhbnQ7Cn0KLyogTmF2aWdhdGlvbiBPcHRpbWl6YXRpb24g4oCUINmF2K7ZgduMINqp2LHYr9mGINiy24zYsdmF2YbZiCDYqtinIGhvdmVyICovCi5oYXZlLWNoaWxkID4gdWwgewogICAgZGlzcGxheTogbm9uZTsKfQouaGF2ZS1jaGlsZDpob3ZlciA+IHVsIHsKICAgIGRpc3BsYXk6IGJsb2NrOwp9Cjwvc3R5bGU+Cgo8IS0tIERlZmVyIGFsbCBKUyAtLT4KPHNjcmlwdD4KZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnc2NyaXB0W3NyY10nKS5mb3JFYWNoKGZ1bmN0aW9uKHMpIHsKICAgIGlmICghcy5hc3luYyAmJiAhcy5kZWZlcikgewogICAgICAgIHMuZGVmZXIgPSB0cnVlOwogICAgfQp9KTsKPC9zY3JpcHQ+Cgo8IS0tIFJlbW92ZSBEdXBsaWNhdGUgQ1NTIC0tPgo8c2NyaXB0Pgp2YXIgY3NzRmlsZXMgPSB7fTsKZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnbGlua1tyZWw9InN0eWxlc2hlZXQiXScpLmZvckVhY2goZnVuY3Rpb24obGluaykgewogICAgdmFyIGhyZWYgPSBsaW5rLmhyZWY7CiAgICBpZihjc3NGaWxlc1tocmVmXSkgewogICAgICAgIGxpbmsucmVtb3ZlKCk7CiAgICB9IGVsc2UgewogICAgICAgIGNzc0ZpbGVzW2hyZWZdID0gdHJ1ZTsKICAgIH0KfSk7Cjwvc2NyaXB0PgoKPCEtLSBTY2hlbWEgQ2xlYW51cCDigJQg2K3YsNmBIFNjaGVtYSDZh9in24wg2LTaqdiz2KrZhyBDTVMgLS0+CjxzY3JpcHQ+CnZhciBfc2NoZW1hQ2xlYW51cEludGVydmFsID0gc2V0SW50ZXJ2YWwoZnVuY3Rpb24oKSB7CiAgICB2YXIgc2NyaXB0cyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ3NjcmlwdFt0eXBlPSJhcHBsaWNhdGlvbi9sZCtqc29uIl0nKTsKICAgIGlmKHNjcmlwdHMubGVuZ3RoID4gMCkgewogICAgICAgIGNsZWFySW50ZXJ2YWwoX3NjaGVtYUNsZWFudXBJbnRlcnZhbCk7CiAgICAgICAgc2NyaXB0cy5mb3JFYWNoKGZ1bmN0aW9uKHMpIHsKICAgICAgICAgICAgdmFyIGNvbnRlbnQgPSBzLnRleHRDb250ZW50IHx8ICcnOwogICAgICAgICAgICAvLyDYrdiw2YEgU2l0ZU5hdmlnYXRpb25FbGVtZW50INi02qnYs9iq2YcgKHVybCDYtNqp2LPYqtmHKQogICAgICAgICAgICBpZihjb250ZW50LmluZGV4T2YoJyJTaXRlTmF2aWdhdGlvbkVsZW1lbnQiJykgIT09IC0xICYmIGNvbnRlbnQuaW5kZXhPZignL2h0dHBzOi8vJykgIT09IC0xKSB7CiAgICAgICAgICAgICAgICBzLnJlbW92ZSgpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIC8vINit2LDZgSBXZWJQYWdlINi02qnYs9iq2YcgKNio2K/ZiNmGIHVybCkKICAgICAgICAgICAgaWYoY29udGVudC5pbmRleE9mKCciV2ViUGFnZSInKSAhPT0gLTEgJiYgY29udGVudC5pbmRleE9mKCcidXJsIicpID09PSAtMSkgewogICAgICAgICAgICAgICAgcy5yZW1vdmUoKTsKICAgICAgICAgICAgfQogICAgICAgIH0pOwogICAgfQp9LCAxMDApOwo8L3NjcmlwdD4KCjwhLS0gU2NoZW1hIE9yZ2FuaXphdGlvbiAtLT4KPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi9sZCtqc29uIj4KewogICJAY29udGV4dCI6ICJodHRwczovL3NjaGVtYS5vcmciLAogICJAdHlwZSI6ICJPcmdhbml6YXRpb24iLAogICJuYW1lIjogItin2YTZiNin2YYg2YXYp9ix2qnYqiIsCiAgInVybCI6ICJodHRwczovL3d3dy5hbHZhbm1hcmtldC5jb20iLAogICJsb2dvIjogImh0dHBzOi8vd3d3LmFsdmFubWFya2V0LmNvbS9pbWFnZXMvbG9nby5wbmciLAogICJ0ZWxlcGhvbmUiOiAiKzk4OTE2ODMzNTY1MiIsCiAgInNhbWVBcyI6IFsiaHR0cHM6Ly90Lm1lL2FsdmFubWFya2VldCIsICJodHRwczovL3J1YmlrYS5pci9hbHZhbm1hcmtlZXQiXQp9Cjwvc2NyaXB0PgoKPCEtLSBTY2hlbWEgV2ViU2l0ZSAtLT4KPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi9sZCtqc29uIj4KewogICJAY29udGV4dCI6ICJodHRwczovL3NjaGVtYS5vcmciLAogICJAdHlwZSI6ICJXZWJTaXRlIiwKICAibmFtZSI6ICLYp9mE2YjYp9mGINmF2KfYsdqp2KoiLAogICJ1cmwiOiAiaHR0cHM6Ly93d3cuYWx2YW5tYXJrZXQuY29tIiwKICAicG90ZW50aWFsQWN0aW9uIjogewogICAgIkB0eXBlIjogIlNlYXJjaEFjdGlvbiIsCiAgICAidGFyZ2V0IjogImh0dHBzOi8vd3d3LmFsdmFubWFya2V0LmNvbS9zZWFyY2gve3NlYXJjaF90ZXJtX3N0cmluZ30iLAogICAgInF1ZXJ5LWlucHV0IjogInJlcXVpcmVkIG5hbWU9c2VhcmNoX3Rlcm1fc3RyaW5nIgogIH0KfQo8L3NjcmlwdD4KCjwhLS0gU2NoZW1hIFdlYlBhZ2UgLS0+CjxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24vbGQranNvbiI+CnsKICAiQGNvbnRleHQiOiAiaHR0cHM6Ly9zY2hlbWEub3JnIiwKICAiQHR5cGUiOiAiV2ViUGFnZSIsCiAgIm5hbWUiOiAi2KfZhNmI2KfZhiDZhdin2LHaqdiqIHwg2K7YsduM2K8g2KraqSDZiCDYudmF2K/ZhyDZhNmI2KfYstmFINiu2KfZhtqv24zYjCDZvtmI2LTYp9qpINmIINii2LHYp9uM2LTbjCIsCiAgInVybCI6ICJodHRwczovL3d3dy5hbHZhbm1hcmtldC5jb20iLAogICJkZXNjcmlwdGlvbiI6ICLZgdix2YjYtNqv2KfZhyDYp9uM2YbYqtix2YbYqtuMINm+2K7YtCDYudmF2K/ZhyDZhNmI2KfYstmFINiu2KfZhtqv24zYjCDZvtmI2LTYp9qp2Iwg2KLYsdin24zYtNuMINmIINin2KjYstin2LHYotmE2KfYqiDYqNinINio2YfYqtix24zZhiDZgtuM2YXYqiIsCiAgImRhdGVQdWJsaXNoZWQiOiAiMjAyNC0wMS0wMSIsCiAgImRhdGVNb2RpZmllZCI6ICIyMDI2LTA4LTE4IiwKICAicHVibGlzaGVyIjogewogICAgIkB0eXBlIjogIk9yZ2FuaXphdGlvbiIsCiAgICAibmFtZSI6ICLYp9mE2YjYp9mGINmF2KfYsdqp2KoiCiAgfQp9Cjwvc2NyaXB0PgoKPCEtLSBTY2hlbWEgQnJlYWRjcnVtYkxpc3QgLS0+CjxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24vbGQranNvbiI+CnsKICAiQGNvbnRleHQiOiAiaHR0cHM6Ly9zY2hlbWEub3JnIiwKICAiQHR5cGUiOiAiQnJlYWRjcnVtYkxpc3QiLAogICJpdGVtTGlzdEVsZW1lbnQiOiBbCiAgICB7CiAgICAgICJAdHlwZSI6ICJMaXN0SXRlbSIsCiAgICAgICJwb3NpdGlvbiI6IDEsCiAgICAgICJuYW1lIjogItiu2KfZhtmHIiwKICAgICAgIml0ZW0iOiAiaHR0cHM6Ly93d3cuYWx2YW5tYXJrZXQuY29tIgogICAgfQogIF0KfQo8L3NjcmlwdD4KCjwhLS0gQWNjZXNzaWJpbGl0eTogU2tpcCBOYXZpZ2F0aW9uICsgRm9ybSBMYWJlbHMgLS0+CjxzY3JpcHQ+Ci8vIFNraXAgTmF2aWdhdGlvbgooZnVuY3Rpb24oKXsKICAgIHZhciBjaGVja0JvZHkgPSBzZXRJbnRlcnZhbChmdW5jdGlvbigpIHsKICAgICAgICBpZihkb2N1bWVudC5ib2R5KSB7CiAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoY2hlY2tCb2R5KTsKICAgICAgICAgICAgCiAgICAgICAgICAgIC8vINin2LbYp9mB2Ycg2qnYsdiv2YYgaWQg2KjZhyBtYWluIHRhZwogICAgICAgICAgICB2YXIgbWFpblRhZyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ21haW4nKTsKICAgICAgICAgICAgaWYobWFpblRhZyAmJiAhbWFpblRhZy5pZCkgewogICAgICAgICAgICAgICAgbWFpblRhZy5pZCA9ICdtYWluLWNvbnRlbnQnOwogICAgICAgICAgICB9CiAgICAgICAgICAgIAogICAgICAgICAgICB2YXIgc2tpcE5hdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTsKICAgICAgICAgICAgc2tpcE5hdi5ocmVmID0gJyNtYWluLWNvbnRlbnQnOwogICAgICAgICAgICBza2lwTmF2LmNsYXNzTmFtZSA9ICdza2lwLW5hdic7CiAgICAgICAgICAgIHNraXBOYXYudGV4dENvbnRlbnQgPSAn2LHZgdiq2YYg2KjZhyDZhdit2KrZiNin24wg2KfYtdmE24wnOwogICAgICAgICAgICBza2lwTmF2LnN0eWxlLmNzc1RleHQgPSAncG9zaXRpb246YWJzb2x1dGU7dG9wOi0xMDBweDtsZWZ0OjA7YmFja2dyb3VuZDojZWY1NDBhO2NvbG9yOndoaXRlO3BhZGRpbmc6MTBweCAyMHB4O3otaW5kZXg6OTk5OTtmb250LXNpemU6MTZweDt0ZXh0LWRlY29yYXRpb246bm9uZTtib3JkZXItcmFkaXVzOjAgMCA1cHggMDsnOwogICAgICAgICAgICBza2lwTmF2Lm9uZm9jdXMgPSBmdW5jdGlvbigpeyB0aGlzLnN0eWxlLnRvcCA9ICcwJzsgfTsKICAgICAgICAgICAgc2tpcE5hdi5vbmJsdXIgPSBmdW5jdGlvbigpeyB0aGlzLnN0eWxlLnRvcCA9ICctMTAwcHgnOyB9OwogICAgICAgICAgICBkb2N1bWVudC5ib2R5Lmluc2VydEJlZm9yZShza2lwTmF2LCBkb2N1bWVudC5ib2R5LmZpcnN0Q2hpbGQpOwogICAgICAgIH0KICAgIH0sIDUwKTsKfSkoKTsKCi8vIEZvcm0gTGFiZWxzCmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ0RPTUNvbnRlbnRMb2FkZWQnLCBmdW5jdGlvbigpewogICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnaW5wdXQ6bm90KFthcmlhLWxhYmVsXSk6bm90KFt0eXBlPSJoaWRkZW4iXSk6bm90KFt0eXBlPSJzdWJtaXQiXSk6bm90KFt0eXBlPSJjaGVja2JveCJdKTpub3QoW3R5cGU9InJhZGlvIl0pJykuZm9yRWFjaChmdW5jdGlvbihpbnB1dCkgewogICAgICAgIHZhciBwbGFjZWhvbGRlciA9IGlucHV0LmdldEF0dHJpYnV0ZSgncGxhY2Vob2xkZXInKSB8fCAnJzsKICAgICAgICB2YXIgbmFtZSA9IGlucHV0LmdldEF0dHJpYnV0ZSgnbmFtZScpIHx8ICcnOwogICAgICAgIGlmKHBsYWNlaG9sZGVyKSB7CiAgICAgICAgICAgIGlucHV0LnNldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbCcsIHBsYWNlaG9sZGVyKTsKICAgICAgICB9IGVsc2UgaWYobmFtZSA9PT0gJ3EnKSB7CiAgICAgICAgICAgIGlucHV0LnNldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbCcsICfYrNiz2KrYrNmIINmF2K3YtdmI2YQnKTsKICAgICAgICB9IGVsc2UgaWYoaW5wdXQuY2xvc2VzdCgnLnF1YW50aXR5LCAucXR5LCBbY2xhc3MqPSJxdWFudGl0eSJdJykpIHsKICAgICAgICAgICAgaW5wdXQuc2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsJywgJ9iq2LnYr9in2K8nKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBpbnB1dC5zZXRBdHRyaWJ1dGUoJ2FyaWEtbGFiZWwnLCAn2YjYsdmI2K/bjCcpOwogICAgICAgIH0KICAgIH0pOwp9KTsKPC9zY3JpcHQ+CgoKPCEtLSBBY2Nlc3NpYmlsaXR5IEZpeCDigJQg2KfYtdmE2KfYrSBBUklBINmIIExpbmtzIC0tPgo8c3R5bGU+Ci8qINmF2K7ZgduMINqp2LHYr9mGINmE24zZhtqp4oCM2YfYp9uMINio2K/ZiNmGINmF2KrZhiDYp9iyINi12YHYrdmH4oCM2K7ZiNin2YYgKi8KYTpub3QoW2FyaWEtbGFiZWxdKTpub3QoW2FyaWEtbGFiZWxsZWRieV0pOm5vdChbdGl0bGVdKTpub3QoOmVtcHR5KTpub3QoW2hyZWZePSIjIl0pIHsKICAgIHZpc2liaWxpdHk6IHZpc2libGU7Cn0KPC9zdHlsZT4KPHNjcmlwdD4KKGZ1bmN0aW9uKCl7CiAgICAvLyDYp9i12YTYp9itINiv2qnZhdmHIG5hdi1yZXZpZXctdGFiCiAgICB2YXIgcmV2aWV3VGFiID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ25hdi1yZXZpZXctdGFiJyk7CiAgICBpZihyZXZpZXdUYWIpIHsKICAgICAgICByZXZpZXdUYWIuc2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsJywgJ9iq2Kgg2YbYuNix2KfYqicpOwogICAgICAgIHJldmlld1RhYi5zZXRBdHRyaWJ1dGUoJ3JvbGUnLCAndGFiJyk7CiAgICAgICAgcmV2aWV3VGFiLnNldEF0dHJpYnV0ZSgnYXJpYS1jb250cm9scycsICduYXYtcmV2aWV3Jyk7CiAgICB9CiAgICAKICAgIC8vINin2LXZhNin2K0g2YTbjNmG2qnigIzZh9in24wg2KjYr9mI2YYg2YXYqtmGCiAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdhJykuZm9yRWFjaChmdW5jdGlvbihsaW5rKSB7CiAgICAgICAgdmFyIHRleHQgPSAobGluay50ZXh0Q29udGVudCB8fCAnJykudHJpbSgpOwogICAgICAgIHZhciBhcmlhTGFiZWwgPSBsaW5rLmdldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbCcpOwogICAgICAgIHZhciB0aXRsZSA9IGxpbmsuZ2V0QXR0cmlidXRlKCd0aXRsZScpOwogICAgICAgIHZhciBoYXNJbWcgPSBsaW5rLnF1ZXJ5U2VsZWN0b3IoJ2ltZ1thbHRdJyk7CiAgICAgICAgCiAgICAgICAgaWYoIXRleHQgJiYgIWFyaWFMYWJlbCAmJiAhdGl0bGUgJiYgIWhhc0ltZykgewogICAgICAgICAgICB2YXIgaWNvbiA9IGxpbmsucXVlcnlTZWxlY3RvcignaSwgc3Bhbi5nbHlwaGljb24sIHNwYW4uaWNvbiwgc3Bhbi5mYScpOwogICAgICAgICAgICBpZihpY29uKSB7CiAgICAgICAgICAgICAgICB2YXIgaWNvbkNsYXNzID0gaWNvbi5jbGFzc05hbWUgfHwgJyc7CiAgICAgICAgICAgICAgICB2YXIgbGFiZWwgPSAn2YTbjNmG2qknOwogICAgICAgICAgICAgICAgaWYoaWNvbkNsYXNzLmluY2x1ZGVzKCdlZGl0JykgfHwgaWNvbkNsYXNzLmluY2x1ZGVzKCdwZW5jaWwnKSB8fCBpY29uQ2xhc3MuaW5jbHVkZXMoJ2ZhLWVkaXQnKSB8fCBpY29uQ2xhc3MuaW5jbHVkZXMoJ21kaS1wZW5jaWwnKSkgewogICAgICAgICAgICAgICAgICAgIGxhYmVsID0gJ9mI24zYsdin24zYtCc7CiAgICAgICAgICAgICAgICB9IGVsc2UgaWYoaWNvbkNsYXNzLmluY2x1ZGVzKCdkZWxldGUnKSB8fCBpY29uQ2xhc3MuaW5jbHVkZXMoJ3RyYXNoJykgfHwgaWNvbkNsYXNzLmluY2x1ZGVzKCdmYS10cmFzaCcpKSB7CiAgICAgICAgICAgICAgICAgICAgbGFiZWwgPSAn2K3YsNmBJzsKICAgICAgICAgICAgICAgIH0gZWxzZSBpZihpY29uQ2xhc3MuaW5jbHVkZXMoJ3NlYXJjaCcpIHx8IGljb25DbGFzcy5pbmNsdWRlcygnZmEtc2VhcmNoJykpIHsKICAgICAgICAgICAgICAgICAgICBsYWJlbCA9ICfYrNiz2KrYrNmIJzsKICAgICAgICAgICAgICAgIH0gZWxzZSBpZihpY29uQ2xhc3MuaW5jbHVkZXMoJ2Nsb3NlJykgfHwgaWNvbkNsYXNzLmluY2x1ZGVzKCd0aW1lcycpIHx8IGljb25DbGFzcy5pbmNsdWRlcygnZmEtdGltZXMnKSkgewogICAgICAgICAgICAgICAgICAgIGxhYmVsID0gJ9io2LPYqtmGJzsKICAgICAgICAgICAgICAgIH0gZWxzZSBpZihpY29uQ2xhc3MuaW5jbHVkZXMoJ3NoYXJlJykgfHwgaWNvbkNsYXNzLmluY2x1ZGVzKCdmYS1zaGFyZScpKSB7CiAgICAgICAgICAgICAgICAgICAgbGFiZWwgPSAn2KfYtNiq2LHYp9qp4oCM2q/YsNin2LHbjCc7CiAgICAgICAgICAgICAgICB9IGVsc2UgaWYoaWNvbkNsYXNzLmluY2x1ZGVzKCdoZWFydCcpIHx8IGljb25DbGFzcy5pbmNsdWRlcygnbGlrZScpIHx8IGljb25DbGFzcy5pbmNsdWRlcygnZmEtaGVhcnQnKSkgewogICAgICAgICAgICAgICAgICAgIGxhYmVsID0gJ9i52YTYp9mC2YfigIzZhdmG2K/bjCc7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBsaW5rLnNldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbCcsIGxhYmVsKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIC8vINmE24zZhtqpINio2K/ZiNmGINmF2KrZhiDZiCDYqNiv2YjZhiDYotuM2qnZiNmGCiAgICAgICAgICAgICAgICBsaW5rLnNldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbCcsICfZhNuM2YbaqScpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfSk7Cn0pKCk7Cjwvc2NyaXB0PgoKPCEtLSBQZXJmb3JtYW5jZTogUmVzb3VyY2UgSGludHMgKyBQcmVsb2FkIC0tPgo8bGluayByZWw9InByZWNvbm5lY3QiIGhyZWY9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20iIGNyb3Nzb3JpZ2luPgo8bGluayByZWw9InByZWNvbm5lY3QiIGhyZWY9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldCIgY3Jvc3NvcmlnaW4+CjxsaW5rIHJlbD0iZG5zLXByZWZldGNoIiBocmVmPSIvL2NkbmpzLmNsb3VkZmxhcmUuY29tIj4KPGxpbmsgcmVsPSJkbnMtcHJlZmV0Y2giIGhyZWY9Ii8vY2RuLmpzZGVsaXZyLm5ldCI+CgoKCjwhLS0gU2NoZW1hIENsZWFudXAg4oCUINit2LDZgSBTaXRlTmF2aWdhdGlvbkVsZW1lbnQg2K7Ysdin2KggQ01TIC0tPgo8c2NyaXB0PgooZnVuY3Rpb24oKXsKICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ3NjcmlwdFt0eXBlPSJhcHBsaWNhdGlvbi9sZCtqc29uIl0nKS5mb3JFYWNoKGZ1bmN0aW9uKHMpIHsKICAgICAgICB2YXIgdGV4dCA9IHMudGV4dENvbnRlbnQgfHwgJyc7CiAgICAgICAgaWYodGV4dC5pbmRleE9mKCdTaXRlTmF2aWdhdGlvbkVsZW1lbnQnKSAhPT0gLTEpIHsKICAgICAgICAgICAgcy5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHMpOwogICAgICAgIH0KICAgIH0pOwp9KSgpOwo8L3NjcmlwdD50Pgo=
اسپری-بدن-زنانه-مردانه-مدیا-کد-g-1637-صادرات-با-کیفیت-تهران-
اسپری-بدن-زنانه-مردانه-مدیا-کد-g-1637-صادرات-با-کیفیت-تهران-
اسپری-بدن-زنانه-مردانه-مدیا-کد-g-1637-صادرات-با-کیفیت-تهران-
اسپری بدن مدل مدیا کد G1637
اسپری بدن مدل مدیا کد G1637
اسپری بدن مدل مدیا کد G1637
فقط در شهر ارائه می‌گردد!

اسپری بدن مدل مدیا کد G1637


رنگبندی
ویژگی‌های کالا

اسپری‌های بدن معمولاً بر پایه ترکیبات آبرسان و مرطوب‌کننده تولید می‌شوند که علاوه بر خوشبو کردن بدن، به حفظ لطافت و نرمی پوست کمک می‌کنند. رایحه‌های این محصولات از نت‌های گل، میوه، چوب و ادویه الهام گرفته و برای تمامی سلیقه‌ها گزینه‌ای مناسب ارائه می‌دهند.

فروشنده : گالری صبا
1 - 9 خرید تکی 245,700 ت
10 - 49 قیمت عمده 221,130 ت
50 - 99 قیمت همکار 196,560 ت
100 - 100 تماس با ما 171,990 ت

245,700 تومان
موجود است
اضافه به سبد

بیش از 2 نفر این محصول را خریده اند.

انتخاب نوع کالا و تعداد
1 - 9 خرید تکی 245,700 ت
10 - 49 قیمت عمده 221,130 ت
50 - 99 قیمت همکار 196,560 ت
100 - 100 تماس با ما 171,990 ت

رنگبندی:
عدد در سبد می‌باشد
حداکثر
مبلغ پرداختی
مجموع محصول در سبد
245,700 تومان
اضافه به سبد