Help
RSS
API
Feed
Maltego
Contact
Domain > www.schaefferfunerals.com
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2022-11-22
18.214.188.217
(
ClassC
)
2024-03-30
3.218.1.76
(
ClassC
)
2025-10-17
34.194.189.154
(
ClassC
)
Port 80
HTTP/1.1 301 Moved PermanentlyDate: Fri, 17 Oct 2025 07:25:29 GMTContent-Type: text/html; charsetutf-8Content-Length: 151Connection: keep-aliveSet-Cookie: AWSALB2BQY9Htdtz4maZZLY4KksjX1/DyrItYaNlDyWgAMRrGj9dU/sxcYqScYPB8HvcH0TigfO4p2mOSrJMsHcM75wSHZztclG32HOT1wjXYPVBhebIVsDKQdM1HPU8PT; ExpiresFri, 24 Oct 2025 07:25:29 GMT; Path/Set-Cookie: AWSALBCORS2BQY9Htdtz4maZZLY4KksjX1/DyrItYaNlDyWgAMRrGj9dU/sxcYqScYPB8HvcH0TigfO4p2mOSrJMsHcM75wSHZztclG32HOT1wjXYPVBhebIVsDKQdM1HPU8PT; ExpiresFri, 24 Oct 2025 07:25:29 GMT; Path/; SameSiteNoneLocation: https://www.schaefferfunerals.com/Server: Microsoft-IIS/10.0X-Powered-By: ASP.NETX-Content-Type-Options: nosniff html>head>title>Object moved/title>/head>body>h2>Object moved to a hrefhttps://www.schaefferfunerals.com/>here/a>./h2>/body>/html>
Port 443
HTTP/1.1 200 OKDate: Fri, 17 Oct 2025 07:25:30 GMTContent-Type: text/html; charsetutf-8Content-Length: 161861Connection: keep-aliveSet-Cookie: AWSALB2DEPiGKdnqcYj16Kh1JpPLSrNRk3ccugtO0DuSQl/Uj5yzW7vCj80GYm5kku4ebPOSxaEGAPSCkB9TQhrv77PX+HUHp6zyng84+zS3L4N5fPFPThE2BWtQtq8Oew; ExpiresFri, 24 Oct 2025 07:25:29 GMT; Path/Set-Cookie: AWSALBCORS2DEPiGKdnqcYj16Kh1JpPLSrNRk3ccugtO0DuSQl/Uj5yzW7vCj80GYm5kku4ebPOSxaEGAPSCkB9TQhrv77PX+HUHp6zyng84+zS3L4N5fPFPThE2BWtQtq8Oew; ExpiresFri, 24 Oct 2025 07:25:29 GMT; Path/; SameSiteNone; SecureCache-Control: public, no-cacheSet-Cookie, stale-while-revalidate60, stale-if-error86400, max-age30Expires: Fri, 17 Oct 2025 07:25:59 GMTLast-Modified: Fri, 17 Oct 2025 07:25:29 GMTVary: *Server: Microsoft-IIS/10.0X-AspNetMvc-Version: 5.2X-AspNet-Version: 4.0.30319X-Powered-By: ASP.NETX-Content-Type-Options: nosniff !DOCTYPE html>html xmlnshttps://www.w3.org/1999/xhtml dirltr langen-US xmlns:fbhttps://www.facebook.com/2008/fbml classbasilica>head> meta charsetutf-8 /> meta nameformat-detection contenttelephoneno /> meta http-equivX-UA-Compatible contentIEedge> link relpreconnect hrefhttps://cdnjs.cloudflare.com crossorigin> link reldns-prefetch hrefhttps://fonts.googleapis.com> link relpreconnect hrefhttps://fonts.gstatic.com crossorigin> link relpreconnect hrefhttps://www.google-analytics.com crossorigin> link relpreconnect hrefhttps://d1v2hfhsvnke6s.cloudfront.net crossorigin> link relpreconnect hrefhttps://s3.amazonaws.com crossorigin> link relpreconnect hrefhttps://ajax.googleapis.com crossorigin> link relpreconnect hrefhttps://www.google.com crossorigin> link relpreconnect hrefhttps://cmp.osano.com crossorigin> link relpreload hrefhttps://d1v2hfhsvnke6s.cloudfront.net/Content/Fonts/Linearicons-Free-v1.0.0/Linearicons-Free.woff2?w118d asfont typefont/woff2 crossoriginanonymous> link relpreload hrefhttps://d1v2hfhsvnke6s.cloudfront.net/Content/Fonts/Linearicons/Linearicons.woff2 asfont typefont/woff2 crossoriginanonymous> link relstylesheet hrefhttps://d1v2hfhsvnke6s.cloudfront.net/Content/Fonts/Linearicons/styles-custom.min.css mediaprint onloadthis.mediaall> link relstylesheet hrefhttps://d1v2hfhsvnke6s.cloudfront.net/Content/Fonts/Linearicons-Free-v1.0.0/style.min.css mediaprint onloadthis.mediaall> link relstylesheet hrefhttps://d2zeeo94hsmapq.cloudfront.net/release/themes/275aa92/Content/Themes/Shared/css/tribute-pay-panel.css mediaprint onloadthis.mediaall> link relstylesheet hrefhttps://d2zeeo94hsmapq.cloudfront.net/release/themes/275aa92/Content/Themes/Shared/css/lightbox.css mediaprint onloadthis.mediaall> link relstylesheet href/Content/Styles/fontawesome_v5.min.css mediaprint onloadthis.mediaall> script> (function (w, o, d) { wo wo || function () { wod.push(arguments); }; wod wod || ; })(window, Osano, data); /script> script async srchttps://cmp.osano.com/6oqE1UQ1Qwdt1CDn/bbe5ca7f-e160-47d8-9245-ec4c75824f0e/osano.js>/script> script typetext/javascript> document.addEventListener(DOMContentLoaded, function () { const targetSelector .osano-cm-window__dialog:not(.osano-cm-dialog--hidden); let observer new MutationObserver(function (mutations, obs) { const elem document.querySelector(targetSelector); if (elem) { sendNiEvent( Support, Cookie Banner, niEvent - View Cookie Banner, View Cookie Banner ); // Attach click handlers here if needed $(document).on(click, .osano-cm-button, function () { var $btn $(this); var text $btn.text().trim(); if ($btn.hasClass(osano-cm-button--type_accept)) { sendGa4Event(Support, Cookie Banner, Obituary, Accept All Click, text + - Cookie Banner); } else if ($btn.hasClass(osano-cm-button--type_denyAll)) { sendGa4Event(Support, Cookie Banner, Obituary, Reject All Click, text + - Cookie Banner); } }); $(document).on(click, .osano-cm-storage-policy, function () { var text $(this).text().trim(); sendGa4Event(Support, Cookie Banner, Obituary, Privacy Policy, text + - Cookie Banner); }); obs.disconnect(); // Stop observing after found } }); observer.observe(document.body, { childList: true, subtree: true }); }); /script> link relalternate typeapplication/rss+xml titleRSS Feed href/rss.xml /> !-- Google Tag Manager --> script> (function (w, d, s, l, i) { wl wl || ; wl.push({ gtm.start: new Date().getTime(), event: gtm.js }); var f d.getElementsByTagName(s)0, j d.createElement(s), dl l ! dataLayer ? &l + l : ; j.async true; j.src https://www.googletagmanager.com/gtm.js?id + i + dl; f.parentNode.insertBefore(j, f); })(window, document, script, dataLayer, GTM-PCDJ3WG); /script> !-- End Google Tag Manager -->!-- Google Tag Manager -->script> (function (w, d, s, l, i) { wl wl || ; wl.push({ gtm.start: new Date().getTime(), event: gtm.js }); var f d.getElementsByTagName(s)0, j d.createElement(s), dl l ! dataLayer ? &l + l : ; j.async true; j.src https://www.googletagmanager.com/gtm.js?id + i + dl; f.parentNode.insertBefore(j, f); })(window, document, script, dataLayer, GTM-PLKZ973);/script>!-- End Google Tag Manager --> script typetext/javascript>var pushData (data) > { dataLayer.push(data);}var replaceUndefined (value) > { return value ? value : Null;}pushDeceasedInfo (days, age, type) > { pushData({ dInfo: { dDays: replaceUndefined(days), dAge: replaceUndefined(age), mType: replaceUndefined(type) } });}pushEventInfo (timeUntilFirst, timeUntilLast) > { pushData({ eventInfo: { timeUntilFirst: replaceUndefined(timeUntilFirst), timeUntilLast: replaceUndefined(timeUntilLast) } });}pushWallInfo (condolencesCount, photosCount, videosCount) > { pushData({ wall: { countCondolences: replaceUndefined(condolencesCount), countPhotos: replaceUndefined(photosCount), countVideos: replaceUndefined(videosCount) } });}pushSiteInfo (siteId, locationId, websiteType, brandName, version, userType, pageType, codeBase, fhName, floralNetwork, seoStatus, osanoKey) > { pushData({ siteInfo: { siteId: replaceUndefined(siteId), locationId: replaceUndefined(locationId), websiteType: replaceUndefined(websiteType), brandName: replaceUndefined(brandName), version: replaceUndefined(version), userType: replaceUndefined(userType), pageType: replaceUndefined(pageType), codeBase: replaceUndefined(codeBase), fhName: replaceUndefined(fhName), floralNetwork: replaceUndefined(floralNetwork), seoStatus: replaceUndefined(seoStatus), osanoKey: replaceUndefined(osanoKey) } });}pushAbTestInfo (templateId, templateVersion, storeTemplateVersion, obitEvents, serverId, testName) > { pushData({ abTestInfo: { templateId: replaceUndefined(templateId), templateVersion: replaceUndefined(templateVersion), storeTemplateVersion: replaceUndefined(storeTemplateVersion), obitEvents: replaceUndefined(obitEvents), serverId: replaceUndefined(serverId), testName: replaceUndefined(testName) } });}sendGTMInfo (category, action, label) > { dataLayer.push({ event: gaEvent, category: category, action: action, label: label });} sendNiEvent (purpose, location, action, label) > { window.dataLayer window.dataLayer || ; const pageType typeof getSitePageType function ? getSitePageType() : Other; dataLayer.push({ event: niEvent, ga4.category: pageType, ga4.purpose: purpose, ga4.location: location, ga4.action: action, ga4.label: label });}sendGa4Event (purpose, location, category, action, label) > { dataLayer.push({ event: ga4Event, ga4.purpose: purpose, a4.location: location, a4.category: category, a4.action: action, a4.label: label, });}getSitePageType () > { const item window.dataLayer.find(element > element.siteInfo ! null); if (item && item.siteInfo && item.siteInfo.pageType) { return item.siteInfo.pageType; } return Other;}pushPageInfo (tcoObitId, brandObitId, obitDays, productsOffered, backgroundImage, profilePhoto, obitLength, funeralHomeGeo, countObitVideos, countTreePurchases, countFreeTrees, countFlowerPurchases, countDonations, countCharityDonations, obitCDays, obitHours, obitCreatedHour, deliveryLocation, pin, flag, fbPost, wallPostActions, obitPublishDate, storeName, deathNotice, donations, daysSinceDeath, deceasedAge, hoursToFirstEvent, hoursToLastEvent, aiFlag) > { pushData({ pageInfo: { tcoObitId: replaceUndefined(tcoObitId), brandObitId: replaceUndefined(brandObitId), obitDays: replaceUndefined(obitDays), productsOffered: replaceUndefined(productsOffered), backgroundImage: replaceUndefined(backgroundImage), profilePhoto: replaceUndefined(profilePhoto), obitLength: replaceUndefined(obitLength), funeralHomeGeo: replaceUndefined(funeralHomeGeo), countObitVideos: replaceUndefined(countObitVideos), countTreePurchases: replaceUndefined(countTreePurchases), countFreeTrees: replaceUndefined(countFreeTrees), countFlowerPurchases: replaceUndefined(countFlowerPurchases), countDonations: replaceUndefined(countDonations), countCharityDonations: replaceUndefined(countCharityDonations), obitCDays: replaceUndefined(obitCDays), obitHours: replaceUndefined(obitHours), obitCreatedHour: replaceUndefined(obitCreatedHour), deliveryLocation: replaceUndefined(deliveryLocation), ltPin: replaceUndefined(pin), ltFlag: replaceUndefined(flag), fbPost: replaceUndefined(fbPost), wallPostActions: replaceUndefined(wallPostActions), obitPublishDate: replaceUndefined(obitPublishDate), store: replaceUndefined(storeName), deathNotice: replaceUndefined(deathNotice), donations: replaceUndefined(donations), daysSinceDeath: replaceUndefined(daysSinceDeath), deceasedAge: replaceUndefined(deceasedAge), hoursToFirstEvent: replaceUndefined(hoursToFirstEvent), hoursToLastEvent: replaceUndefined(hoursToLastEvent), aiFlag: replaceUndefined(aiFlag) } });}window.getGAuuid () > { const uuidKeyCookie tcouuid; const regexCookie new RegExp(`(^| )${uuidKeyCookie}(^;+)`); const gaUUidCookieArr document.cookie.match(regexCookie); if (!gaUUidCookieArr) { const now new Date(); let uuid crypto in window && window.crypto.randomUUID && window.crypto.randomUUID(); if (!uuid) { uuid String(now.getTime().toString(32) + Math.random().toString(16)).replace(/\./g, -); } now.setTime(now.getTime() + 3600 * 1000);// 1 hour document.cookie `${uuidKeyCookie}${uuid};expires${now.toUTCString()};path/`; return uuid; } return gaUUidCookieArr2;};window.pushSessionInfo (sessionID) > { pushData({ sessionInfo: { sessionID } });}/script> script typetext/javascript> document.addEventListener(touchstart, {}, { passive: true }); WebFontConfig { google: { families: Lato:400,400italic,700,700italic,900,900italic,300,100,100italic,300italic , text: ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzÁÉÍÓÚáéíóúÑñÜüĆćČčĐđĎďŠšŽžŸÿ0123456789IVXLCDM!?.,:;@#$%^&*()-_+>{}|\\/„“”‘’‹›«»€£¥±×÷≠→←↑↓•◦¿¡ } }; var doRedirect (function(agent, addr) { //matches only smartphones if (/(Android.+Mobile)|iPhone|Opera\sMobi/i.test(agent)) { return function() { if (addr) { window.location (addr.indexOf(http://)) -1 ? (http:// + addr) : addr; } }; } return null; })(navigator.userAgent || navigator.vendor || window.opera, ); //dynamic forms var _getDfLoginUrl /Forms/LoginToPreplanning; var _getDfPostUrl /Forms/DynamicForm; var _getDFStepUrl /Forms/DynamicFormStep; var _getObitSubsUrl /FunHelper/SubscribeToObituaryEmails; var _gApiKey AIzaSyAJePqBpBIkgD-XWaEODqqSpEKUFIcbVow; /script> meta nameviewport contentwidthdevice-width, initial-scale1.0> link relshortcut icon hrefhttps://s3.amazonaws.com/fh-content/release/Content/Media/SchaefferFuneralHome/favicon.ico typeimage/x-icon> link relstylesheet hrefhttps://d2zeeo94hsmapq.cloudfront.net/release/themes/275aa92/Content/Themes/Shared/css/common.css mediaprint onloadthis.mediaall> link relstylesheet href/Content/Styles/DynamicBanners/DynamicBanners.min.css mediaprint onloadthis.mediaall> link relstylesheet hrefhttps://d2zeeo94hsmapq.cloudfront.net/release/themes/275aa92/Content/Themes/Shared/css/rotatingBanner/rotating-banner.css mediaprint onloadthis.mediaall> link relstylesheet href/Content/Styles/hover-effects.min.css mediaprint onloadthis.mediaall> link relstylesheet href/Content/Styles/media-content.min.css mediaprint onloadthis.mediaall> link relstylesheet hrefhttps://d2zeeo94hsmapq.cloudfront.net/release/themes/275aa92/Content/Themes/Shared/css/obituaries-homepage.css mediaprint onloadthis.mediaall> title>Schaeffer Funeral Home | Lehighton, PA/title>meta namedescription contentSchaeffer Funeral Home provides funeral, memorial, personalization, aftercare, pre-planning and cremation services in Lehighton, PA. /> script typeapplication/ld+json> { @context: https://schema.org, @type: Organization, name: Schaeffer Funeral Home | Lehighton, PA, url: https://www.schaefferfunerals.com, logo: https://www.schaefferfunerals.com/Content/Media/SchaefferFuneralHome/logoschaeffer_d29bb9a1d11b445fbc96b1941733a372.png, contactPoint: { @type: ContactPoint, telephone: (610) 377-1020 } } sameAs: } } /script> script src/DependencyHandler.axd/1df68f60cda0adc2d5192c18c1114daf.513.js typetext/javascript>/script>script srchttps://d2zeeo94hsmapq.cloudfront.net/release/themes/275aa92/Content/Themes/Shared/lib/aos/dist/aos.js typetext/javascript>/script> script typetext/javascript> AC_FL_RunContent 0; $(html).addClass($.browser.name).addClass(version- + $.browser.versionNumber); if ($.browser.name msie) { $(#msie-banner).css(display, block); setTimeout(function(){$(#msie-banner).fadeOut(1000);}, 5000); } FrazerMaps.Init({ apiKey: AIzaSyAJePqBpBIkgD-XWaEODqqSpEKUFIcbVow }); /script> link relstylesheet hrefhttps://d2zeeo94hsmapq.cloudfront.net/release/themes/275aa92/Content/Themes/Shared/css/fonts.css mediaprint onloadthis.mediaall> link relstylesheet href/Content/Styles/jquery-ui-1.8.18.custom.min.css mediaprint onloadthis.mediaall> link relstylesheet hrefhttps://d2zeeo94hsmapq.cloudfront.net/release/themes/275aa92/Content/Themes/Shared/css/DynamicForms.css mediaprint onloadthis.mediaall> link relstylesheet href/Content/Styles/coolDropDown.min.css mediaprint onloadthis.mediaall> link relstylesheet href/Content/Styles/jqtransform.min.css mediaprint onloadthis.mediaall> link relstylesheet href/Content/Styles/jquery.superbox.min.css mediaprint onloadthis.mediaall> link relstylesheet href/Content/Styles/hover-effects.min.css mediaprint onloadthis.mediaall> link relstylesheet hrefhttps://d2zeeo94hsmapq.cloudfront.net/release/themes/275aa92/Content/Themes/Shared/lib/aos/dist/aos.css mediaprint onloadthis.mediaall> link hrefhttps://d2zeeo94hsmapq.cloudfront.net/release/themes/275aa92/Content/Themes/Basilica/GreenTheme/css/site.css relstylesheet typetext/css /> script typetext/javascript> $(function () { if (typeof DynamicForms ! undefined) { DynamicForms.setDomainId(content$empty_root$$_p__nhibernate$_v__guid$_57608572190148399de549db7c65ca0c); } }); /script> script idsubscribe-form typetext/html> form data-typedynamic data-domainid57608572190148399de549db7c65ca0c classobituary-subs obituary-subs-popup jqtransformdone novalidatenovalidate action/FunHelper/SubscribeToObituaryEmails> a hrefjavascript:void(0); classclose-popup>/a> div classdescription> h1>Subscribe to Obituaries/h1> p classsubmited-none>Receive emails when new obituariesbr />are published to our website./p> p classsubmited-block>Thank you!/p> /div> div classfields submited-none> input typetext placeholderFirst Name classobituary-subs-name bg-icon-user titleFirst Name> input typetext placeholderEmail Address classobituary-subs-email bg-icon-letter titleEmail Address> div classicon-info>div classinfo-wrapper>We promise not to spam or share your email/div>/div> input typesubmit valueSubscribe classfun-button primary ui-button ui-widget ui-state-default ui-corner-all rolebutton aria-disabledfalse /> /div> /form> /script> script typetext/javascript> var funeralModal { init: function (modalData) { var $container $(div classoverlay-content-container>div classoverlay>/div>div classcontent>/div>/div>), $content $(.content, $container), $overlay $(.overlay, $container), $body $(body), html $(modalData.selector).html(); var remove function () { $container.remove(); } var init function () { $content.append(html); $overlay .on(click, remove); $(.close-popup, $content) .on(click, remove); $container .hide() .appendTo($body) .fadeIn(fast); funeralModalmodalData.init($content.children().first()); } init(); } } funeralModal.subscribeObituariesModalInit function (self) { var $form $(self), $formChildren $form.children(); $formChildren.find(input).first().focus(); $form.on(submit, function () { dynSubscribeToObituaryEmails($formChildren.first(), $form.attr(action), $form.data(domainid), function () { $form.addClass(submited); }); return false; }); } /script> script typetext/javascript> window.aciveAnim true; (function () { window.API window.API || {}; API.domainId 57608572-1901-4839-9de5-49db7c65ca0c; API.apiBaseUrl https://api.secure.tributecenteronline.com + /ClientApi/; API.apiBuilderBaseUrl https://api.secure.tributecenteronline.com + /BuilderApi; API.recaptchaV3PublicKey 6Leawu0UAAAAAF0V79rsne6v5D0ciHG9B8519VFe; API.tcoAppPath //; if (API.tcoAppPath //) API.tcoAppPath /; API.isLocal False True; API.tcoBaseUrl https://www.schaefferfunerals.com + API.tcoAppPath; API.tcoSecureBaseUrl https://www.schaefferfunerals.com + API.tcoAppPath; API.s3Path //tributecenteronline.s3-accelerate.amazonaws.com/; API.TCOCloudfrontDomain https://d1q40j6jx1d8h6.cloudfront.net/; API.isLocal false true; window.API.brand { id: 1, name: Frazer Consultants, LLC, obitStyle: 0, providerId: 0}; API.brands JSON.parse({0:Frazer,1:SRS,2:Osiris,3:Mortware,4:TMS,5:Ionic,6:Passare,7:ContinentalComputersCorp,8:FuneralNet,9:Aurora,10:FuneralDecisions,11:Halcyon,12:FuneralSync,13:FuneralCall,14:InsuranceAssignments,15:FrontRunner,16:TownNews,17:AdPerfect,18:TCO,20:FuneralTech,21:ObituaryHub,22:FuneraLogic,23:FrontRunnerNewspaper,24:GeneralStore,25:FuneralDataManager,26:CFS,27:ConnecticutPublicBroadcasting,28:FuneralInnovations,29:FreedomSoftware,30:MIMS,31:WedLFD,33:WhiteLabelTraining,34:MKJ,39:Carriage}); API.moderatorName Funeral Home Owner; API.xPending false; API.ajax function (httpMethod, controller, method, data, contentType, isApi, success, error, customHeader {}) { var baseUrl isApi ? API.apiBaseUrl : API.tcoAppPath; var currentUser localStorage.getItem(currentUser); function filterError(data, textStatus, jqXHR) { if (data && data.status 403) { var resp JSON.parse(data.responseText); var isCommentMethods create, createcomment; if (controller.toLowerCase() comments && isCommentMethods.includes(method.toLowerCase())) authCallback.showRelationship true; if (resp.type && resp.type 1) { error(User is blocked); } else if (typeof Funeral ! undefined && Funeral.BeforePostData(authCallback)) { return authCallback(); } else { typeof error function && error(data.responseText); } } else if ($.isFunction(error)) error(data.responseText); }; function authCallback() { jQuery.ajax({ method: httpMethod, contentType: contentType, dataType: json, url: baseUrl + controller + / + method, xhrFields: { withCredentials: isApi }, headers: { DomainId: API.domainId, x-wall-user: currentUser }, data: JSON.stringify(data) }).done(success).error(filterError); } var headers $.extend({}, { DomainId: API.domainId, }, customHeader); if (currentUser ! null) headersx-wall-user currentUser var settings { method: httpMethod, cache: false, url: baseUrl + controller + / + method, xhrFields: { withCredentials: isApi }, headers: headers, data: data, success: function(res, status, xhr) { if(Array.isArray(res) && res.length > 0) { API.xPending xhr.getResponseHeader(X-Pending); } } }; if (httpMethod.toUpperCase() POST) { var form $(#__AjaxAntiForgeryForm); if (form) { var token $(inputname__RequestVerificationToken, form).val(); if (token) settings.headers__RequestVerificationToken token; } if (!isApi) { settings.data JSON.stringify(settings.data); settings.dataType json; settings.contentType application/json; } } jQuery.ajax(settings).done(success).error(filterError); }; API.post function (controller, method, data, success, error, customHeader {}) { return API.ajax(POST, controller, method, data, application/json, true, success, error, customHeader); }; API.get function(controller, method, data, success, error) { return API.ajax(GET, controller, method, data, application/json, true, success, error); }; API.postMedia function (controller, method, data, success, error) { return API.ajax(POST, controller, method, data, multipart/form-data, true, success, error); }; API.postTco function(controller, method, data, success, error) { return API.ajax(POST, controller, method, data, application/json, false, success, error); }; API.getTco function(controller, method, data, success, error) { return API.ajax(GET, controller, method, data, application/json, false, success, error); }; API.ensureHttps function(hash) { if (window.location.protocol ! https: && API.tcoSecureBaseUrl && API.tcoSecureBaseUrl.indexOf(https) > -1) { if (hash) { window.location.hash hash; } window.location.href API.tcoSecureBaseUrl.slice(0, -1) + window.location.pathname + window.location.search + window.location.hash; } }; API.showFuneralHomeName false; jQuery.ajaxSetup({ beforeSend: function (e) { if (!window.aciveAnim) setTimeout(function () { $(.page-loader-wrapper).addClass(active); }, 500); }, complete: function (e) { if (!window.aciveAnim) setTimeout(function () { $(.page-loader-wrapper).removeClass(active); }, 500); }, success: function () { } }); })();/script> meta namegoogle-site-verification contentzPZfRyd85WrWoxeoDWG0NwLekAg5lywtAGapdYlpB2g />/head>body > !-- Google Tag Manager (noscript) --> noscript> iframe srchttps://www.googletagmanager.com/ns.html?idGTM-PCDJ3WG height0 width0 styledisplay:none;visibility:hidden>/iframe> /noscript> !-- End Google Tag Manager (noscript) -->!-- Google Tag Manager (noscript) -->noscript> iframe srchttps://www.googletagmanager.com/ns.html?idGTM-PLKZ973 height0 width0 styledisplay:none;visibility:hidden>/iframe>/noscript>!-- End Google Tag Manager (noscript) --> nav classsite-header navbar navbar-default head-menu logo-above navbar-fixed-top> div classsite-header__wrapper> div classheader-top-line> a hrefhttps://www.schaefferfunerals.com/resources/payment-center>Payment Center/a> /div> div classnavbar-header> button onclicksendGTMInfo(Obituary Banner, Click, Obituary Navigation) typebutton classnavbar-toggle data-togglecollapse data-target aria-expandedfalse aria-controlsnavbar> span classicon-bar>/span> span classicon-bar>/span> span classicon-bar>/span> span classsr-only>Toggle navigation/span> /button> a onclicksendGTMInfo(Obituary Banner, Click, Funeral Home) classnavbar-brand href/ aria-labelLink to Home page>img src/Content/Media/SchaefferFuneralHome/logoschaeffer_d29bb9a1d11b445fbc96b1941733a372.png altsite logo classsite-logo />/a> /div> ul idnavbar classnavbar-collapse collapse aria-expandedfalse> li>ul classnav navbar-nav navbar-right > li class> a onclicksendGTMInfo(Obituary Banner, Click, Obituary Navigation) href/obituaries/obituary-listings target_self> Obituaries /a> /li> li class> a onclicksendGTMInfo(Obituary Banner, Click, Obituary Navigation) href/services/overview target_self> Services /a> /li> li class> a onclicksendGTMInfo(Obituary Banner, Click, Obituary Navigation) href/plan-ahead/overview target_self> Plan Ahead /a> /li> li class> a onclicksendGTMInfo(Obituary Banner, Click, Obituary Navigation) href/grief-support/overview target_self> Grief Support /a> /li> li class> a onclicksendGTMInfo(Obituary Banner, Click, Obituary Navigation) href/resources/overview target_self> Resources /a> /li> li class> a onclicksendGTMInfo(Obituary Banner, Click, Obituary Navigation) href/about-us/overview target_self> About Us /a> /li> li class> a onclicksendGTMInfo(Obituary Banner, Click, Obituary Navigation) href/contact/contact-us target_self> Contact /a> /li>/ul>/li> li> ul classnav navbar-nav mobile> li> a hrefhttps://www.schaefferfunerals.com/resources/payment-center classbtn inverse>Payment Center/a> /li> /ul> /li> /ul> /div>/nav>div classpage-loader-wrapper> div classpage-loader>Loading.../div>/div>div classparallax> div classlayer-back-wraper> div classlayer-back> div idslideShowCarousel classcarousel slide carousel-fade data-ridecarousel> !-- Indicators --> ol classcarousel-indicators> li data-target#slideShowCarousel data-slide-to0 classactive>/li> li data-target#slideShowCarousel data-slide-to1 class>/li> li data-target#slideShowCarousel data-slide-to2 class>/li> /ol> !-- Wrapper for slides --> div classcarousel-inner> div classgradient item active> img srchttps://d1q40j6jx1d8h6.cloudfront.net/Media/Slides/815ecc33-a79a-4a81-b916-45ed90768eb2.webp alt8492 classslideImage data-aosfade> div classcarousel-headers > h1 data-aoszoom-in >SERVICE/h1> h3 data-aosfade-up data-aos-easingease data-aos-delay400 >SERVING WITH COMPASSION/h3> div data-aosfade-up data-aos-easingease data-aos-delay800 classheader-link>a href/services/funeral-services>LEARN MORE/a> /div> !-- Left and right controls --> a classleft carousel-control href#slideShowCarousel rolebutton data-slideprev> span classglyphicon glyphicon-chevron-left aria-hiddentrue>/span> span classsr-only>Previous/span> /a> a classright carousel-control href#slideShowCarousel rolebutton data-slidenext> span classglyphicon glyphicon-chevron-right aria-hiddentrue>/span> span classsr-only>Next/span> /a> /div> /div> div classgradient item> img srchttps://d1q40j6jx1d8h6.cloudfront.net/Media/Slides/da6eba9c-08d9-4d85-b6ff-de85eff1633a.webp alt8493 classslideImage data-aosfade> div classcarousel-headers > h1 data-aoszoom-in >SUPPORT/h1> h3 data-aosfade-up data-aos-easingease data-aos-delay400 >OFFERING GRIEF SUPPORT/h3> div data-aosfade-up data-aos-easingease data-aos-delay800 classheader-link>a href/grief-support/overview>LEARN MORE/a> /div> !-- Left and right controls --> a classleft carousel-control href#slideShowCarousel rolebutton data-slideprev> span classglyphicon glyphicon-chevron-left aria-hiddentrue>/span> span classsr-only>Previous/span> /a> a classright carousel-control href#slideShowCarousel rolebutton data-slidenext> span classglyphicon glyphicon-chevron-right aria-hiddentrue>/span> span classsr-only>Next/span> /a> /div> /div> div classgradient item> img srchttps://d1q40j6jx1d8h6.cloudfront.net/Media/Slides/d22f9a53-6d59-4053-9e42-dd9b0f383608.webp alt8495 classslideImage data-aosfade> div classcarousel-headers > h1 data-aoszoom-in >PRE-PLANNING/h1> h3 data-aosfade-up data-aos-easingease data-aos-delay400 >PLAN AHEAD HERE/h3> div data-aosfade-up data-aos-easingease data-aos-delay800 classheader-link>a href/plan-ahead/overview>LEARN MORE/a> /div> !-- Left and right controls --> a classleft carousel-control href#slideShowCarousel rolebutton data-slideprev> span classglyphicon glyphicon-chevron-left aria-hiddentrue>/span> span classsr-only>Previous/span> /a> a classright carousel-control href#slideShowCarousel rolebutton data-slidenext> span classglyphicon glyphicon-chevron-right aria-hiddentrue>/span> span classsr-only>Next/span> /a> /div> /div> /div>/div>link relstylesheet href/Scripts/owl-carousel/owl.theme.min.css mediaprint onloadthis.mediaall>link relstylesheet href/Scripts/owl-carousel/owl.carousel.min.css mediaprint onloadthis.mediaall>script typetext/javascript> var interval 0; $(document).ready(function () { if (interval > 0) { $(.carousel).carousel({ interval: interval * 1000 }); } else { $(.carousel).carousel({ pause: false }); } $(video).prop(volume, 0); $(video).on(click, function () { $(this).get(0).pause(); $(.videoPlayButton).removeClass(playing); }); $(.videoPlayButton).on(click, function () { $(video).get(0).play(); $(this).addClass(playing); }); $(video).on(ended, function () { $(this).get(0).load(); $(.videoPlayButton).removeClass(playing); }); $(.sound-button).on(click, function () { var HTMLVideoElement document.getElementById(slideVideo); var video $(HTMLVideoElement); if (video.prop(volume) 0) { HTMLVideoElement.controls true; // allow video controls HTMLVideoElement.muted false; HTMLVideoElement.volume 1 video.prop(volume, 1); HTMLVideoElement.controls false // hide controls after chnging $(this).find(i).removeClass(fa-volume-off).addClass(fa-volume-up); } else { HTMLVideoElement.controls false; HTMLVideoElement.muted true; HTMLVideoElement.volume 0; video.prop(volume, 0); $(this).find(i).removeClass(fa-volume-up).addClass(fa-volume-off); } }); $(.size-button).on(click, function () { var videoContainer $(.layer-back .item); if (videoContainer.hasClass(full-screen)) { videoContainer.removeClass(full-screen); $(body).removeClass(full-screen); $(.parallax).removeClass(full-screen); $(.parallax .layer-back).removeClass(full-screen); $(this).find(i).removeClass(fa-compress).addClass(fa-expand); } else { videoContainer.addClass(full-screen); $(body).addClass(full-screen); $(.parallax).addClass(full-screen); $(.parallax .layer-back).addClass(full-screen); $(this).find(i).removeClass(fa-expand).addClass(fa-compress); } }); $(window).on(scroll, function () { var btm ($(.layer-back .item).height() - $(window).scrollTop()) - $(.head-menu.navbar).height(); $(.videoPlayButton).css(bottom, (btm > 78) ? (btm / 2 - 34) : 10); }); });/script>script src/Scripts/owl-carousel/owl.carousel.js typetext/javascript>/script> style> .slide-preview .slide-text-wrapper.effect-5 { margin: 0 auto; left:0; right: 0; top: 0; bottom: 0; } /style>div classclear>/div> /div> /div> div classlayer-base> div classmenu-content top-sub-menu> /div> div classhomepage-container> div classobituariesColumnWrapper container no-padding> div classobituariesColumn> div classheader data-aosfade-up> div classclearfix> div classcol-xs-12 col-md-9 col-sm-6 no-padding> h2>Recent Obituaries/h2> /div> div classcol-xs-12 col-md-3 col-sm-6 no-padding searchBox> input typetext titleSearch... idobituarySearch placeholderSearch... titleSearch... /> /div> /div>/div> div classcontainer-fluid no-padding> div classobituaries-carousel owl-carousel owl-theme obituariesList rowMode-1-Line> div classitem> div> div classitem-border> a href/obituaries/Joan-A-Behler-Hochberg?obId45846292#/obituaryInfo> div classob-image-wr> img altobituary image classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/45846292/Thumbnail.jpg data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/45846292/Thumbnail.webp onerrorthis.srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp /> /div> div classobituary-caption> h1>Joan A. (Behler) Hochberg/h1> /div> /a> /div> /div> /div> div classitem> div> div classitem-border> a href/obituaries/Barbara-Ann-Buck-Barilla?obId45847645#/obituaryInfo> div classob-image-wr> img altobituary image classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/45847645/Thumbnail.jpg data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/45847645/Thumbnail.webp onerrorthis.srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp /> /div> div classobituary-caption> h1>Barbara Ann (Buck) Barilla/h1> /div> /a> /div> /div> /div> div classitem> div> div classitem-border> a href/obituaries/Pauline-K-Obrian-Snyder?obId45808141#/obituaryInfo> div classob-image-wr> img altobituary image classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/45808141/Thumbnail.jpg data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/45808141/Thumbnail.webp onerrorthis.srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp /> /div> div classobituary-caption> h1>Pauline K. (O'Brian) Snyder/h1> /div> /a> /div> /div> /div> div classitem> div> div classitem-border> a href/obituaries/Karl-E-Rodgers?obId45724613#/obituaryInfo> div classob-image-wr> img altobituary image classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/45724613/Thumbnail_1.JPG data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/45724613/Thumbnail_1.webp onerrorthis.srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp /> /div> div classobituary-caption> h1>Karl E. Rodgers/h1> /div> /a> /div> /div> /div> div classitem> div> div classitem-border> a href/obituaries/Cynthia-Cindy-L-Szacska?obId45455925#/obituaryInfo> div classob-image-wr> img altobituary image classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/45455925/Thumbnail.jpg data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/45455925/Thumbnail.webp onerrorthis.srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp /> /div> div classobituary-caption> h1>Cynthia "Cindy" L. Szacska/h1> /div> /a> /div> /div> /div> div classitem> div> div classitem-border> a href/obituaries/Christine-Diehl-Barry?obId45426042#/obituaryInfo> div classob-image-wr> img altobituary image classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/45426042/Thumbnail_1.jpg data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/45426042/Thumbnail_1.webp onerrorthis.srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp /> /div> div classobituary-caption> h1>Christine Diehl Barry/h1> /div> /a> /div> /div> /div> div classitem> div> div classitem-border> a href/obituaries/Dr-Clark-Clarence-Hawk?obId45390476#/obituaryInfo> div classob-image-wr> img altobituary image classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/45390476/Thumbnail.JPG data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/45390476/Thumbnail.webp onerrorthis.srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp /> /div> div classobituary-caption> h1>Dr. Clark Clarence Hawk/h1> /div> /a> /div> /div> /div> div classitem> div> div classitem-border> a href/obituaries/Anna-G-Butrie?obId45016935#/obituaryInfo> div classob-image-wr> img altobituary image classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/45016935/Thumbnail.jpg data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/45016935/Thumbnail.webp onerrorthis.srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp /> /div> div classobituary-caption> h1>Anna G Butrie/h1> /div> /a> /div> /div> /div> div classitem> div> div classitem-border> a href/obituaries/George-T-Tom-Frantz?obId45108713#/obituaryInfo> div classob-image-wr> img altobituary image classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/45108713/Thumbnail.JPG data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/45108713/Thumbnail.webp onerrorthis.srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp /> /div> div classobituary-caption> h1>George T. "Tom" Frantz/h1> /div> /a> /div> /div> /div> div classitem> div> div classitem-border> a href/obituaries/Hermogenes-Herm-Marrero-Moran-Jr?obId45401439#/obituaryInfo> div classob-image-wr> img altobituary image classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/45401439/Thumbnail.JPG data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/45401439/Thumbnail.webp onerrorthis.srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp /> /div> div classobituary-caption> h1>Hermogenes "Herm" Marrero-Moran Jr./h1> /div> /a> /div> /div> /div> div classitem> div> div classitem-border> a href/obituaries/Daniel-R-Nagy?obId44825369#/obituaryInfo> div classob-image-wr> img altobituary image classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/44825369/Thumbnail.jpg data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/44825369/Thumbnail.webp onerrorthis.srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp /> /div> div classobituary-caption> h1>Daniel R. Nagy/h1> /div> /a> /div> /div> /div> div classitem> div> div classitem-border> a href/obituaries/Dennis-Floyd-Straiter?obId44710037#/obituaryInfo> div classob-image-wr> img altobituary image classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/44710037/Thumbnail.jpg data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/44710037/Thumbnail.webp onerrorthis.srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp /> /div> div classobituary-caption> h1>Dennis Floyd Straiter/h1> /div> /a> /div> /div> /div> div classitem> div> div classitem-border> a href/obituaries/Bessie-Ellen-Mangan-Bauchspies?obId43955935#/obituaryInfo> div classob-image-wr> img altobituary image classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/43955935/Thumbnail.jpg data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/43955935/Thumbnail.webp onerrorthis.srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp /> /div> div classobituary-caption> h1>Bessie Ellen Mangan Bauchspies/h1> /div> /a> /div> /div> /div> div classitem> div> div classitem-border> a href/obituaries/Charles-Henry-Pletcher?obId43871918#/obituaryInfo> div classob-image-wr> img altobituary image classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/43871918/Thumbnail_1.jpg data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/43871918/Thumbnail_1.webp onerrorthis.srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp /> /div> div classobituary-caption> h1>Charles Henry Pletcher/h1> /div> /a> /div> /div> /div> div classitem> div> div classitem-border> a href/obituaries/Terry-D-Christman?obId43601210#/obituaryInfo> div classob-image-wr> img altobituary image classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/43601210/Thumbnail.PNG data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/43601210/Thumbnail.webp onerrorthis.srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp /> /div> div classobituary-caption> h1>Terry D. Christman/h1> /div> /a> /div> /div> /div> div classitem> div> div classitem-border> a href/obituaries/John-R-Hesley?obId42985380#/obituaryInfo> div classob-image-wr> img altobituary image classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/42985380/Thumbnail.jpg data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/42985380/Thumbnail.webp onerrorthis.srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp /> /div> div classobituary-caption> h1>John R. Hesley/h1> /div> /a> /div> /div> /div> div classitem> div> div classitem-border> a href/obituaries/Willard-C-Doll?obId42691761#/obituaryInfo> div classob-image-wr> img altobituary image classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/42691761/Thumbnail.jpg data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/42691761/Thumbnail.webp onerrorthis.srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp /> /div> div classobituary-caption> h1>Willard C. Doll/h1> /div> /a> /div> /div> /div> div classitem> div> div classitem-border> a href/obituaries/Ronald-C-Kane?obId42559996#/obituaryInfo> div classob-image-wr> img altobituary image classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/42559996/Thumbnail.jpg data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/42559996/Thumbnail.webp onerrorthis.srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp /> /div> div classobituary-caption> h1>Ronald C. Kane/h1> /div> /a> /div> /div> /div> div classitem> div> div classitem-border> a href/obituaries/Joanne-M-Moore?obId42571881#/obituaryInfo> div classob-image-wr> img altobituary image classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/42571881/Thumbnail.jpg data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/42571881/Thumbnail.webp onerrorthis.srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp /> /div> div classobituary-caption> h1>Joanne M. Moore/h1> /div> /a> /div> /div> /div> div classitem> div> div classitem-border> a href/obituaries/Carlisle-L-Brownmiller?obId42532866#/obituaryInfo> div classob-image-wr> img altobituary image classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/42532866/Thumbnail.jpg data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/42532866/Thumbnail.webp onerrorthis.srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp /> /div> div classobituary-caption> h1>Carlisle L. Brownmiller/h1> /div> /a> /div> /div> /div> /div> /div>script typetext/javascript> $(function () { var $this this; this.search $(#obituarySearch); this.search.unbind(blur.search).bind(blur.search, function () { clearTimeout($this.searchTimeout); }).unbind(keydown.search).bind(keydown.search, function (e) { clearTimeout($this.searchTimeout); if (e.keyCode 38 || e.keyCode 40) e.preventDefault(); }).unbind(keyup.search).bind(keyup.search, function () { clearTimeout($this.searchTimeout); $this.searchTimeout setTimeout(function () { if ($this.search.val().trim().length > 2) { $(.obituaries-carousel).addClass(searching); $.ajax({ type: GET, url: /FunHelper/Obituaries_QuickSearch, processData: true, contentType: application/json; charsetutf-8, data: { domainId: 57608572-1901-4839-9de5-49db7c65ca0c, text: $this.search.val() }, dataType: text, success: function (json) { var obituaries eval(json); var owl $(.obituaries-carousel).removeClass(searching); owl.html(); if (obituaries.length > 0) { for (var i 0; i obituaries.length; i++) { var obituaryUrl /obituaries/ + obituariesi.fullName.urlifyString() + ?obId + obituariesi.id + #/obituaryInfo; var item div classitem> + div classitem-border> + div> + a href + obituaryUrl + >div classob-image-wr>img classlazyOwl altalt data-src + obituariesi.src + >/div>/a> + /div> + div classobituary-caption>h1> + obituariesi.fullName + /h1>/div> + /div> + /div>; owl.append(item); } } else { var item div classitem not-found>...No results found for span classtext> + $this.search.val() + /span>/div>; owl.append(item); } owl.data(owl-init, false); if (typeof obituariesInit function) { obituariesInit(); } } }); } }, 300); }); if ($.fn.owlCarousel) { $.fn.owlCarousel.options.beforeInit function () { this.updateItems(); var rowCount 1; if (rowCount 0) return; var colCount this.options.items; var items $(.obituaries-carousel .item-border); var groupSize rowCount * colCount; var groupLength Math.ceil(items.length / groupSize); var $items ; var itemsLength $(.obituaries-carousel .item).length; for (var i 0; i itemsLength; i++) { $items.push($(div>).addClass(item)); } for (var g 0; g groupLength; g++) { var resX 0; var resY 0; for (var x 0; x colCount; x++) { for (var y 0; y rowCount; y++) { var absX g * colCount + x; var absResX g * colCount + resX; var el $(.obituaries-carousel>.item:eq( + absX + )>div:eq( + y + )); if (el.length) { $itemsabsResX.append(el.clone()); resX++; absResX g * colCount + resX if (resX colCount || absResX itemsLength) { resY++; resX 0; } } } } } $(.obituaries-carousel).empty(); $(.obituaries-carousel).append($items); }; } });/script> /div> /div> div classcontainer-fluid no-padding> div classintro> div data-aosfade-up classcontainer> h1 styletext-align: center;>Family Owned & Operated/h1>p styletext-align: center;>Our Funeral Home has made a commitment to serve our community. All of the families that we serve are important to us. We constantly strive to offer a wider variety of options to each and every one of them. Integrity and quality service have always been our top priority when dealing with grieving families. We are here to assist you with the preplanning of a funeral or help families plan a service to celebrate the life of a loved one./p> /div> /div> div classhome-services> h3 data-aosfade-up>How we can help/h3> style typetext/css> @media only screen and (max-width: 500px) { .interactive-block { width: 100%; } } @media only screen and (min-width: 501px) { .interactive-block { float: left; width: -webkit-calc((100% - 1px) / 2); width: calc((100% - 1px) / 2); } } @media only screen and (min-width: 992px) { .interactive-block { float: left; width: -webkit-calc((100% - 1px) / 4); width: calc((100% - 1px) / 4); } } .interactive-block-2, .interactive-block-3 { width: 100%; float: left; } @media (min-width: 501px) { .interactive-block-2 { width: 50%; } .interactive-block-3 { width: 33.33333333%; } } @media (max-width: 500px) { .interactive-block-2 > div, .interactive-block-3 > div { padding: 0 !important; } }/style>div classgeneral-summary-wrapper> div stylemargin: 0 -10px 0 -10px; width: calc(100% + 20px)> div classinteractive-block no-padding data-aos'fade-left' data-aos-delay'300'> div stylepadding: 20px 10px 0px 10px> a href/services/where-to-start> div classgrid> figure classeffect-ming> img srchttps://d1q40j6jx1d8h6.cloudfront.net/Images/GeneralSummary/b84eba25-043f-48d4-812b-f810cb04ac55.webp?date:638962647298130315 altWhere to Start loadinglazy /> figcaption> h2>Where to Start/h2> p>Learn More/p> /figcaption> /figure> /div> /a> /div> /div> div classinteractive-block no-padding data-aos'fade-left' data-aos-delay'300'> div stylepadding: 20px 10px 0px 10px> a href/plan-ahead/why-plan-ahead> div classgrid> figure classeffect-ming> img srchttps://d1q40j6jx1d8h6.cloudfront.net/Images/GeneralSummary/6f9cf9d7-94c4-4e46-87f7-70bbfea8a1cd.webp?date:638962647298159174 altWhy Plan Ahead? loadinglazy /> figcaption> h2>Why Plan Ahead?/h2> p>Learn More/p> /figcaption> /figure> /div> /a> /div> /div> div classinteractive-block no-padding data-aos'fade-left' data-aos-delay'300'> div stylepadding: 20px 10px 0px 10px> a href/resources/faqs> div classgrid> figure classeffect-ming> img srchttps://d1q40j6jx1d8h6.cloudfront.net/Images/GeneralSummary/5a5afb0d-6c75-4685-8a0f-920715b5f8cc.webp?date:638962647298188037 altFAQs loadinglazy /> figcaption> h2>FAQs/h2> p>Learn More/p> /figcaption> /figure> /div> /a> /div> /div> div classinteractive-block no-padding data-aos'fade-left' data-aos-delay'300'> div stylepadding: 20px 10px 0px 10px> a href/about-us/testimonials> div classgrid> figure classeffect-ming> img srchttps://d1q40j6jx1d8h6.cloudfront.net/Images/GeneralSummary/87fc9a64-ae3f-472b-9633-362c69367470.webp?date:638962647298228095 altTestimonials loadinglazy /> figcaption> h2>Testimonials/h2> p>Learn More/p> /figcaption> /figure> /div> /a> /div> /div> /div> div classclearfix>/div>/div> /div> div classcontainer-fluid no-padding> div classhome-flowers> span classsub-header data-aosfade-up>- Show your support -/span> span classheader data-aosfade-up>Order Flowers/span> span classcontent data-aosfade-up>We offer a full range of gifts to help comfort and support those who need it the most delivered direct from your local florist./span> a classfun-button hrefhttps://schaeffer-funeral-home.tributestore.com?srcorder-flowers data-aosfade-up>Shop Now/a>/div> /div> /div> div classgeneral-summary-wrapper>div classrow additional-content>div classcol-sm-12 why-choose-us no-padding>div classbackground>h2 classanimated scroll fadeInUp>Why Choose Us?/h2>div classcol-xs-12 col-sm-6 col-md-3 col-lg-3 additional-content-item animated scroll fadeInUp delay1>div classitem-image> /div>div classitem-body>h3>Customized Services/h3>We are here to guide you through the creation of a service that reflects your values, preferences, and budget./div>a classfun-button href../services/overview>Learn More/a>/div>div classcol-xs-12 col-sm-6 col-md-3 col-lg-3 additional-content-item animated scroll fadeInUp delay2>div classitem-image> /div>div classitem-body>h3>Honoring Loved Ones/h3>You will feel the support of knowing we are here to walk with you through this inevitable journey of grief every step of the way./div>a classfun-button href../services/celebrating-life>Learn More/a>/div>div classcol-xs-12 col-sm-6 col-md-3 col-lg-3 additional-content-item animated scroll fadeInUp delay3>div classitem-image> /div>div classitem-body>h3>Caring Staff/h3>We are committed to providing support, compassion, information, & guidance as needed to all of those in need in the community./div>a classfun-button href../about-us/staff> Learn More/a>/div>div classcol-xs-12 col-sm-6 col-md-3 col-lg-3 additional-content-item animated scroll fadeInUp delay4>div classitem-image> /div>div classitem-body>h3>Honoring Veterans/h3>Were proud to do our part in honoring veterans, and giving back to those whose sacrifice and patriotism define our great nation./div>a classfun-button href../services/honoring-veterans> Learn More/a>/div>/div>/div>/div>/div> script typetext/javascript> var locations {address:300 Alum Street ,lat:40.8296180000000000,lng:-75.7120300000000300,name:Schaeffer Funeral Home,index:0}; $(document).ready(function() { var settings { beforeOpen: function() { var $superbox $(#superbox); var address $(.address-string, $superbox).val(); var lat $(.address-coordinate-latitude, $superbox).val() * 1; var lng $(.address-coordinate-longitude, $superbox).val() * 1; var map $(.home-map, $superbox)0; if (lat && lng) { FrazerMaps.ShowEmbed(map, { lan: lat, lng: lng }); } else { FrazerMaps.ShowEmbed(map, { address: address }); } }, boxWidth: 760, // Default width of the box boxHeight: 320 // Default height of the box }; $(a.homeMap).each(function() { this._relSettings ; if (!!$.fn.superbox) $(this).superbox(content, settings); }); $(#locationsCarousel .carousel-indicators li).click(function(e) { var num $(e.target).attr(data-slide-to); if (locations.length > num) { if (API.showFuneralHomeName) { FrazerMaps.UpdateMap($(#map_canvas), { address: locationsnum.address, name: locationsnum.name}); } else { FrazerMaps.UpdateMap($(#map_canvas), { lan: locationsnum.lat, lng: locationsnum.lng }); } } }); const mapCanvas document.getElementById(map_canvas); const observer new IntersectionObserver((entries, observer) > { entries.forEach(entry > { if (entry.isIntersecting) { if (API.showFuneralHomeName) { FrazerMaps.ShowEmbed($(#map_canvas), { address: locations0.address, name: locations0.name }); } else { FrazerMaps.ShowEmbed($(#map_canvas), { lan: locations0.lat, lng: locations0.lng }); } observer.unobserve(mapCanvas); } }); }, { threshold: 0.1 }); observer.observe(mapCanvas); }); /* functions */ function setDirection(address) { window.open(https://maps.google.com/maps?fd&sources_d&saddr + $(#superbox .fromAddress).val() +&daddr +address); } /script> div classlocations> div idmap_wrapper classlocations> div idmap_canvas classmapping col-lg-9 col-md-8 col-sm-6 col-xs-12>/div> div idlocationsCarousel classcarousel slide col-lg-3 col-md-4 col-sm-6 col-xs-12 data-ridecarousel data-intervalfalse> !-- Wrapper for slides --> div classcarousel-inner> div classitem active> div classcontent> h5>Our Location/h5> p>Schaeffer Funeral Home/p> p>300 Alum Street /p> p>Lehighton, PA 18235 /p> p>Phone: (610) 377-1020/p> a hrefhttps://www.google.com/maps/dir//40.8296180000000000,-75.7120300000000300/@40.8296180000000000,-75.7120300000000300 classbutton target_blank relnoopener>Get directions/a> div iddivMapAndDrivingDirection518924 styledisplay: none;> input classaddress-string typehidden value300 Alum Street , Lehighton, PA 18235 /> input classaddress-coordinate-latitude typehidden value40.8296180000000000 /> input classaddress-coordinate-longitude typehidden value-75.7120300000000300 /> div classhome-map>/div> div classmap-info> div classcontactInfo> p>Schaeffer Funeral Home/p> p>300 Alum Street /p> p>Lehighton, PA 18235 /p> p>Phone: (610) 377-1020/p> /div> h5>Driving Directions/h5> div classfind-direction> label>From:/label> input typetext classfromAddress titleAddres /> input classdirectionButton typebutton valueSubmit onclicksetDirection(https://www.google.com/maps/dir//40.8296180000000000,-75.7120300000000300/@40.8296180000000000,-75.7120300000000300); /> /div> /div> div classclear>/div> /div> /div> /div> /div> !-- Indicators --> /div> /div> /div>/div> script typetext/javascript> $(.parallax .layer-back).parallax({ speed: 0.6 }); function viewAllObituaryLinkAdd() { $(.owl-pagination).append(div class\viewAll\> a href../obituaries/obituary-listings aria-labelView All> View All/a>/div>); } $(document).ready(function () { obituariesInit(); $(#slideShowCarousel).addClass(carousel-fade); $(#locationsCarousel).carousel(pause); }); function obituariesInit() { var owl $(.obituaries-carousel); owl.owlCarousel({ lazyLoad: true, itemsCustom: 0, 1, 400, 2, 500, 3, 600, 4, 800, 5, 900, 6, 1200, 7, 1800, 8 , navigation: true, scrollPerPage: true, autoHeight: false, afterUpdate: function () { if (viewAllObituaryLinkAdd) viewAllObituaryLinkAdd(); }, afterInit: function () { if (viewAllObituaryLinkAdd) viewAllObituaryLinkAdd(); } }); } /script>div classcopyrights text-center> div classbottom-navigation> /div> div classcopyrights> p>© Schaeffer Funeral Home | Lehighton, PA - Funeral Home Website Design By a target_blank relnofollow noopener classunderline hrefhttps://www.frazerconsultants.com/>Frazer Consultants, LLC /a> & a target_blank relnofollow noopener classunderline hrefhttps://www.tributearchive.com/>TA/a>/p> div classterms> script> $(function() { $(a.privacyPolicy, a.termsOfUse, a.accessibility).click(function() { var id $(this).attr(class); var popup $(# + id); if (popup.hasClass(base64)) { popup.html(atob(popup.html())).removeClass(base64); } }); }); window.setTermsHandler function () { setTimeout(function() { $(.modal-login-terms a, .donate-form__bottom-text a).click(function() { var id $(this).attr(href); var popup $(id); if (popup.hasClass(base64)) { popup.html(atob(popup.html())).removeClass(base64); } }); }, 500); } /script> a classprivacyPolicy relsuperboxcontent href#privacyPolicy>Privacy Policy/a> & a classtermsOfUse relsuperboxcontent href#termsOfUse>Terms of Use/a> | a classaccessibility relsuperboxcontent href#accessibility>Accessibility/a> div classbase64 styledisplay: none idprivacyPolicy> PHA+PHN0cm9uZz5UcmlidXRlIFRlY2hub2xvZ3kgUHJpdmFjeSBQb2xpY3k8L3N0cm9uZz48L3A+DQo8cD48ZW0+TGFzdCB1cGRhdGVkOiBBcHJpbCAyMCwgMjAyMzwvZW0+PGJyPjxicj5UcmlidXRlIFRlY2hub2xvZ3kgaXMgY29tbWl0dGVkIHRvIHByb3RlY3RpbmcgeW91ciBwZXJzb25hbCBpbmZvcm1hdGlvbi4gVGhpcyBQcml2YWN5IE5vdGljZSBkZXNjcmliZXMgdGhlIHBlcnNvbmFsIGluZm9ybWF0aW9uIHRoYXQgd2UgY29sbGVjdCBhYm91dCB5b3UsIGhvdyB3ZSB1c2UgYW5kIGRpc2Nsb3NlIHRoaXMgaW5mb3JtYXRpb24sIGFuZCB0aGUgc3RlcHMgd2UgdGFrZSB0byBwcm90ZWN0IHRoaXMgaW5mb3JtYXRpb24uIEZvciBwdXJwb3NlcyBvZiB0aGlzIFByaXZhY3kgTm90aWNlLCAoYSkgJmxkcXVvO3BlcnNvbmFsIGluZm9ybWF0aW9uJnJkcXVvOyBtZWFucyBhbnkgaW5mb3JtYXRpb24gdGhhdCByZWxhdGVzIHRvIHlvdSBhcyBhbiBpbmRpdmlkdWFsIGFuZCBjb3VsZCByZWFzb25hYmx5IGJlIHVzZWQgdG8gaWRlbnRpZnkgeW91IGFuZCAoYikgJmxkcXVvO1RyaWJ1dGUgVGVjaG5vbG9neSwmcmRxdW87ICZsZHF1bzt3ZSwmcmRxdW87ICZsZHF1bzt1cyZyZHF1bzsgYW5kICZsZHF1bztvdXImcmRxdW87IGVhY2ggcmVmZXIgdG8gdGhlIGxlZ2FsIGVudGl0eSBzcGVjaWZpZWQgaW4gdGhlICZsZHF1bztBcHBsaWNhYmxlIEVudGl0eSZyZHF1bzsgc2VjdGlvbiB0aGlzIFByaXZhY3kgTm90aWNlIGJlbG93LiBUaGlzIFByaXZhY3kgTm90aWNlIGFwcGxpZXMgdG8gb3VyIGNvbGxlY3Rpb24gYW5kIHVzZSBvZiBwZXJzb25hbCBpbmZvcm1hdGlvbiB0aHJvdWdoIHRoaXMgd2Vic2l0ZSBhbmQgYW55IHJlbGF0ZWQgd2Vic2l0ZXMsIGFwcGxpY2F0aW9ucywgdG9vbHMsIG9yIHBsYXRmb3JtcyAodGhlICZsZHF1bztTZXJ2aWNlcyZyZHF1bzspLCBhcyB3ZWxsIGFzIHRocm91Z2ggYW55IG90aGVyIG1lYW5zIHdoZXJlIGEgbGluayBvciByZWZlcmVuY2UgdG8gdGhpcyBQcml2YWN5IE5vdGljZSBpcyBwcm92aWRlZCBhdCB0aGUgdGltZSBvZiBjb2xsZWN0aW9uLjwvcD4NCjxwPjxzdHJvbmc+Jm5ic3A7PC9zdHJvbmc+PC9wPg0KPHA+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiB2ZXJkYW5hLCBnZW5ldmEsIHNhbnMtc2VyaWY7Ij48c3Ryb25nPk91ciBTZXJ2aWNlczwvc3Ryb25nPjwvc3Bhbj48L3A+DQo8cD48YnI+VHJpYnV0ZSBUZWNobm9sb2d5JnJzcXVvO3MgcHJpbWFyeSBidXNpbmVzcyBpcyBhcyBhIHNvZnR3YXJlLWFzLWEtc2VydmljZSBwcm92aWRlciBvZiBmdW5lcmFsIHRlY2hub2xvZ3kgc2VydmljZXMsIGluY2x1ZGluZyB3ZWJzaXRlLCBwYXltZW50IHByb2Nlc3NpbmcsIGxpZmUgaW5zdXJhbmNlIGFzc2lnbm1lbnRzLCBzZWFyY2ggZW5naW5lIG9wdGltaXphdGlvbiwgbWFya2V0aW5nIGFuZCBlY29tbWVyY2Ugc2VydmljZXMsIHRvIGZ1bmVyYWwgaG9tZXMgYW5kIG90aGVyIGZ1bmVyYWwgcHJvZmVzc2lvbmFscyAob3VyICZsZHF1bztDbGllbnRzJnJkcXVvOykuIEluIGNvbm5lY3Rpb24gd2l0aCB0aGlzIGZhY2V0IG9mIFRyaWJ1dGUgVGVjaG5vbG9neSZyc3F1bztzIGJ1c2luZXNzLCBUcmlidXRlIFRlY2hub2xvZ3kgY29sbGVjdHMgYW5kIHN0b3JlcyBwZXJzb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgaW5kaXZpZHVhbHMgd2hvIHZpc2l0IGFuZCB1dGlsaXplIGNlcnRhaW4gZnVuY3Rpb25zIG9yIGZlYXR1cmVzIG9mIG91ciBhbmQgb3VyIENsaWVudHMmcnNxdW87IHdlYnNpdGVzICgmbGRxdW87RW5kIFVzZXJzJnJkcXVvOykuIFRoaXMgUHJpdmFjeSBOb3RpY2UgYXBwbGllcyB0byBUcmlidXRlIFRlY2hub2xvZ3kmcnNxdW87cyBjb2xsZWN0aW9uIGFuZCB1c2Ugb2YgQ2xpZW50IGFuZCBFbmQgVXNlciBwZXJzb25hbCBpbmZvcm1hdGlvbiBidXQgbm90IHRvIG91ciBDbGllbnRzJnJzcXVvOyBvciBhbnkgb3RoZXIgdGhpcmQgcGFydHkmcnNxdW87cyBjb2xsZWN0aW9uIG9yIHVzZSBvZiBzdWNoIHBlcnNvbmFsIGluZm9ybWF0aW9uLjxicj48YnI+VHJpYnV0ZSBUZWNobm9sb2d5IGFsc28gbWFpbnRhaW5zIGEgd2ViIHJlcG9zaXRvcnksIHRoZSBUcmlidXRlIEFyY2hpdmUsIGNvbnRhaW5pbmcgb2JpdHVhcmllcywgYSBsaXN0aW5nIG9mIGZ1bmVyYWwgaG9tZXMsIGFuZCBvdGhlciBmdW5lcmFsLXJlbGF0ZWQgY29udGVudCBpbiBjb25uZWN0aW9uIHdpdGggd2hpY2ggcGVyc29uYWwgaW5mb3JtYXRpb24gbWF5IGJlIGNvbGxlY3RlZCBmcm9tIGluZGl2aWR1YWxzICgmbGRxdW87VHJpYnV0ZSBVc2VycyZyZHF1bzspLiBUaGlzIFByaXZhY3kgTm90aWNlIGFsc28gYXBwbGllcyB0byBUcmlidXRlIFRlY2hub2xvZ3kmcnNxdW87cyBjb2xsZWN0aW9uIGFuZCB1c2Ugb2YgcGVyc29uYWwgaW5mb3JtYXRpb24gZnJvbSBUcmlidXRlIFVzZXJzIGFuZCBvdGhlciBpbmRpdmlkdWFscyB3aG8gaW50ZXJhY3QgZGlyZWN0bHkgd2l0aCBUcmlidXRlIFRlY2hub2xvZ3kuPC9wPg0KPHA+Jm5ic3A7PC9wPg0KPHA+PHN0cm9uZz5QZXJzb25hbCBJbmZvcm1hdGlvbiBXZSBDb2xsZWN0PC9zdHJvbmc+PC9wPg0KPHA+PGJyPldoZW4geW91IGFjY2VzcyBvciB1c2UgdGhlIFNlcnZpY2VzIG9yIG90aGVyd2lzZSBpbnRlcmFjdCB3aXRoIHVzLCB3aGV0aGVyIGFzIGEgQ2xpZW50LCBFbmQgVXNlciwgVHJpYnV0ZSBVc2VyIG9yIG90aGVyIGluZGl2aWR1YWwsIHdlIG1heSBjb2xsZWN0IGNlcnRhaW4gY2F0ZWdvcmllcyBvZiBwZXJzb25hbCBpbmZvcm1hdGlvbiBhYm91dCB5b3UgZnJvbSBhIHZhcmlldHkgb2Ygc291cmNlcy48YnI+PGJyPkNhdGVnb3JpZXMgb2YgcGVyc29uYWwgaW5mb3JtYXRpb24gdGhhdCB3ZSBtYXkgY29sbGVjdCBmcm9tIHlvdSBkaXJlY3RseSBpbmNsdWRlOjwvcD4NCjx1bD4NCjxsaT5Db250YWN0IGluZm9ybWF0aW9uIChmb3IgZXhhbXBsZSwgbmFtZSwgcGhvbmUgbnVtYmVyLCBtYWlsaW5nIGFkZHJlc3MsIGVtYWlsIGFkZHJlc3MpPC9saT4NCjxsaT5QYXltZW50LXJlbGF0ZWQgZGV0YWlscyAoZm9yIGV4YW1wbGUsIGJpbGxpbmcgYWRkcmVzcyBhbmQgb3RoZXIgY3JlZGl0IGNhcmQgZGV0YWlscyk8L2xpPg0KPGxpPkFjY291bnQgaW5mb3JtYXRpb24gKGZvciBleGFtcGxlLCB1c2VybmFtZSBhbmQgcGFzc3dvcmQgYW5kIHRyYW5zYWN0aW9uIGhpc3RvcnkpPC9saT4NCjxsaT5Db21tdW5pY2F0aW9ucyAoZm9yIGV4YW1wbGUsIHN1Ym1pdHRlZCBxdWVzdGlvbnMgb3Igb3RoZXIgcG9zdHMsIG1hcmtldGluZyBwcmVmZXJlbmNlcyBhbmQgdXNlciBnZW5lcmF0ZWQgY29udGVudCBsaWtlIHBob3RvcyBhbmQgdmlkZW9zKTwvbGk+DQo8L3VsPg0KPHA+PGJyPkNhdGVnb3JpZXMgb2YgcGVyc29uYWwgaW5mb3JtYXRpb24gdGhhdCB3ZSBtYXkgY29sbGVjdCBhdXRvbWF0aWNhbGx5IHdoZW4geW91IHVzZSB0aGUgU2VydmljZXMgaW5jbHVkZTo8L3A+DQo8dWw+DQo8bGk+VGVjaG5pY2FsIGluZm9ybWF0aW9uIChmb3IgZXhhbXBsZSwgYnJvd3NlciB0eXBlLCBJUCBhZGRyZXNzLCBjb29raWVzLCBhbmQgb3BlcmF0aW5nIHN5c3RlbSk8L2xpPg0KPGxpPlVzYWdlIGluZm9ybWF0aW9uIChmb3IgZXhhbXBsZSwgcGFnZXMgdmlzaXRlZCwgc2VhcmNoIHRlcm1zIGVudGVyZWQsIGFuZCBmcmVxdWVuY3kgb2YgdmlzaXRzKTwvbGk+DQo8L3VsPg0KPHA+PGJyPkNhdGVnb3JpZXMgb2YgcGVyc29uYWwgaW5mb3JtYXRpb24gdGhhdCB3ZSBtYXkgY29sbGVjdCBmcm9tIG90aGVyIHNvdXJjZXMsIGluY2x1ZGluZyBmcm9tIG91ciBDbGllbnRzIGluIGNvbm5lY3Rpb24gd2l0aCB0aGVpciB1c2Ugb2YgdGhlIFNlcnZpY2VzLCBpbmNsdWRlOjwvcD4NCjx1bD4NCjxsaT5FbmQgVXNlciBjb250YWN0IGluZm9ybWF0aW9uIChmb3IgZXhhbXBsZSwgbmFtZSwgcGhvbmUgbnVtYmVyLCBtYWlsaW5nIGFkZHJlc3MsIGVtYWlsIGFkZHJlc3MpPC9saT4NCjxsaT5FbmQgVXNlciBwYXltZW50LXJlbGF0ZWQgZGV0YWlscyAoZm9yIGV4YW1wbGUsIGJpbGxpbmcgYWRkcmVzcyBhbmQgb3RoZXIgY3JlZGl0IGNhcmQgZGV0YWlscyk8L2xpPg0KPGxpPkVuZCBVc2VyIGZ1bmVyYWwgY29udHJpYnV0aW9ucywgaW5jbHVkaW5nIHRyaWJ1dGUgdmlkZW8gZGF0YSwgZGF0YSBlbnRlcmVkIGluIGZ1bmVyYWwgcmVnaXN0ZXIgYm9va3MsIG9iaXR1YXJpZXMgYW5kIHBvc3RzIGFuZCBjb21tZW50czwvbGk+DQo8bGk+RW5kIFVzZXIgZnVuZXJhbCBhZG1pbmlzdHJhdGlvbiBkYXRhLCBpbmNsdWRpbmcgbGlmZSBpbnN1cmFuY2UgY2xhaW0gZm9ybXMgYW5kIGFmZmlkYXZpdHMgdG8gZW5zdXJlIGRpc3BlcnNhbCBvZiBmdW5kcyB0byBjb3ZlciBmdW5lcmFsIGNvc3RzIGFuZCBkYXRhIHJlcXVpcmVkIHRvIGZpbGUgZGVhdGggY2VydGlmaWNhdGVzPC9saT4NCjwvdWw+DQo8cD48YnI+V2UgdXNlIEdvb2dsZSBBbmFseXRpY3MgdG8gY29sbGVjdCBhbmQgYW5hbHl6ZSBpbmZvcm1hdGlvbiBhYm91dCB1c2Ugb2YgdGhlIFNlcnZpY2VzIGFuZCB0byBoZWxwIHVzIHVuZGVyc3RhbmQgYWN0aXZpdGllcyBhbmQgdHJlbmRzLiBUaGlzIGluY2x1ZGVzIHVzZSBvZiBHb29nbGUgQW5hbHl0aWNzIHBlcmZvcm1hbmNlIHJlcG9ydHMgcmVsYXRpbmcgdG8gZGVtb2dyYXBoaWNzIGFuZCBpbnRlcmVzdHMuIEFzIHBhcnQgb2YgdGhpcyBzZXJ2aWNlLCB3ZSBzaGFyZSBhIHVuaXF1ZSBpZGVudGlmaWVyIHdpdGggR29vZ2xlIEFuYWx5dGljcy4gWW91IG1heSBvcHQtb3V0IG9mIEdvb2dsZSBBbmFseXRpY3MgYnkgaW5zdGFsbGluZyBhIEdvb2dsZSBBbmFseXRpY3Mgb3B0LW91dCBicm93c2VyIGFkZC1vbiBhdmFpbGFibGUgZm9yIGRvd25sb2FkIGhlcmU6Jm5ic3A7PGEgaHJlZj0iaHR0cHM6Ly90b29scy5nb29nbGUuY29tL2RscGFnZS9nYW9wdG91dCI+aHR0cHM6Ly90b29scy5nb29nbGUuY29tL2RscGFnZS9nYW9wdG91dDwvYT4uPGJyPjxicj5GaW5hbGx5LCB3ZSBtYXkgY29sbGVjdCBwZXJzb25hbCBpbmZvcm1hdGlvbiBwdXJzdWFudCB0byBhIGxlZ2FsIG9yIGNvbnRyYWN0dWFsIHJlcXVpcmVtZW50LCBhbmQgZmFpbHVyZSB0byBwcm92aWRlIHN1Y2ggaW5mb3JtYXRpb24gbWF5IGltcGFjdCBvdXIgYWJpbGl0eSB0byBmdWxmaWxsIG91ciBvYmxpZ2F0aW9ucy48L3A+DQo8cD48c3Ryb25nPiZuYnNwOzwvc3Ryb25nPjwvcD4NCjxwPjxzdHJvbmc+SG93IFdlIFVzZSBZb3VyIFBlcnNvbmFsIEluZm9ybWF0aW9uPC9zdHJvbmc+PC9wPg0KPHA+PGJyPldlIG1heSB1c2UgdGhlIHBlcnNvbmFsIGluZm9ybWF0aW9uIHdlIGNvbGxlY3QgZm9yIHRoZSBmb2xsb3dpbmcgcHVycG9zZXM6PC9wPg0KPHA+Jm5ic3A7PC9wPg0KPHVsPg0KPGxpPjxzdHJvbmc+UHJvdmlkZSBhbmQgaW1wcm92ZSB0aGUgU2VydmljZXMuJm5ic3A7PC9zdHJvbmc+V2UgbWF5IHVzZSB5b3VyIHBlcnNvbmFsIGluZm9ybWF0aW9uIHRvIHByb3ZpZGUgYW5kIGltcHJvdmUgdGhlIFNlcnZpY2VzLCBpbmNsdWRpbmcgdG8gZnVsZmlsbCB5b3VyIG9yZGVycyBhbmQgcmVxdWVzdHMgYW5kIHRvIHBvc3QgeW91ciBjb21tZW50cyBhbmQgb3RoZXIgZnVuZXJhbCBjb250cmlidXRpb25zLiBXZSBtYXkgYWxzbyB1c2UgeW91ciBwZXJzb25hbCBpbmZvcm1hdGlvbiBmb3IgdGhlIGFkbWluaXN0cmF0aW9uIG9mIG91ciBidXNpbmVzcywgZm9yIGJ1c2luZXNzIGRldmVsb3BtZW50IHB1cnBvc2VzLCBhbmQgdG8gZnVsZmlsbCBvdXIgY29udHJhY3R1YWwgb2JsaWdhdGlvbnMuPC9saT4NCjwvdWw+DQo8cD4mbmJzcDs8L3A+DQo8dWw+DQo8bGk+PHN0cm9uZz5SaXNrIG1pdGlnYXRpb24gYW5kIHNlY3VyaXR5LiZuYnNwOzwvc3Ryb25nPldlIG1heSB1c2UgeW91ciBwZXJzb25hbCBpbmZvcm1hdGlvbiBmb3IgcmlzayBtaXRpZ2F0aW9uIGFuZCBzZWN1cml0eSBwdXJwb3NlcywgaW5jbHVkaW5nIHRvIG1haW50YWluIHRoZSBwcml2YWN5IGFuZCBzZWN1cml0eSBvZiBvdXIgZGF0YSwgdG8gY29uZHVjdCBpbnRlcm5hbCBhdWRpdHMgb3IgaW52ZXN0aWdhdGlvbnMsIGZvciBkYXRhIHNlY3VyaXR5IHRlc3RpbmcgYW5kIGJ1c2luZXNzIGNvbnRpbnVpdHkgcGxhbm5pbmcgcHVycG9zZXMsIGFuZCB0byBlbnN1cmUgdGhlIHNhZmV0eSBhbmQgc2VjdXJpdHkgb2Ygb3VyIGFuZCBvdXIgYWZmaWxpYXRlcyZyc3F1bzsgQ2xpZW50cywgc3RhZmYgYW5kIGFzc2V0cy48L2xpPg0KPC91bD4NCjxwPiZuYnNwOzwvcD4NCjx1bD4NCjxsaT48c3Ryb25nPkNvbW11bmljYXRpb24gYW5kIG1hcmtldGluZy48L3N0cm9uZz4mbmJzcDtXZSBtYXkgdXNlIHlvdXIgcGVyc29uYWwgaW5mb3JtYXRpb24gdG8gY29tbXVuaWNhdGUgd2l0aCB5b3UgYWJvdXQgdGhlIFNlcnZpY2VzLCByZXNwb25kIHRvIHlvdXIgcXVlc3Rpb25zLCBvciBvZmZlciB5b3UgYWRkaXRpb25hbCBwcm9kdWN0cyBvciBzZXJ2aWNlcy48L2xpPg0KPC91bD4NCjxwPiZuYnNwOzwvcD4NCjx1bD4NCjxsaT48c3Ryb25nPkNvbXBseSB3aXRoIHRoZSBsYXcgYW5kIGV4ZXJjaXNlIG91ciByaWdodHMuJm5ic3A7PC9zdHJvbmc+V2UgbWF5IHVzZSB5b3VyIHBlcnNvbmFsIGluZm9ybWF0aW9uIGFzIHJlYXNvbmFibHkgbmVjZXNzYXJ5IHRvIGFzc2VzcyBhbmQgZW5zdXJlIGNvbXBsaWFuY2Ugd2l0aCBhcHBsaWNhYmxlIGxhd3MsIGxlZ2FsIHJlcXVpcmVtZW50cywgYW5kIGNvbXBhbnkgcG9saWNpZXM7IHRvIHByb3RlY3Qgb3VyIGFuZCBvdXIgYWZmaWxpYXRlcyZyc3F1bzsgYXNzZXRzIG9yIHRvIGludmVzdGlnYXRlIG9yIGRlZmVuZCBhZ2FpbnN0IGFueSBjbGFpbXMgb2YgaWxsZWdhbGl0eSBvciB3cm9uZ2RvaW5nIChpbmNsdWRpbmcgdG8gb2J0YWluIGxlZ2FsIGFkdmljZSBvciB0byBlc3RhYmxpc2gsIGV4ZXJjaXNlIG9yIGRlZmVuZCBsZWdhbCByaWdodHMpOyBhbmQgaW4gcmVzcG9uc2UgdG8gYSBjb3VydCBvcmRlciBvciBqdWRpY2lhbCBvciBvdGhlciBnb3Zlcm5tZW50IHN1YnBvZW5hIG9yIHdhcnJhbnQuPC9saT4NCjwvdWw+DQo8cD4mbmJzcDs8L3A+DQo8dWw+DQo8bGk+PHN0cm9uZz5Db3Jwb3JhdGUgdHJhbnNhY3Rpb24uJm5ic3A7PC9zdHJvbmc+V2UgbWF5IHVzZSB5b3VyIHBlcnNvbmFsIGluZm9ybWF0aW9uIGluIHRoZSBldmVudCB3ZSB1bmRlcnRha2Ugb3IgYXJlIGludm9sdmVkIGluIG9yIGNvbnRlbXBsYXRpbmcgYW55IG1lcmdlciwgYWNxdWlzaXRpb24sIHJlb3JnYW5pemF0aW9uLCBzYWxlIG9mIGFzc2V0cywgYmFua3J1cHRjeSwgb3IgaW5zb2x2ZW5jeSBldmVudC48L2xpPg0KPC91bD4NCjxwPiZuYnNwOzwvcD4NCjxwPldlIG1heSBhbHNvIGFnZ3JlZ2F0ZSwgYW5vbnltaXplLCBvciBvdGhlcndpc2UgZGUtaWRlbnRpZnkgeW91ciBwZXJzb25hbCBpbmZvcm1hdGlvbiBhbmQgdXNlIGl0IGZvciBhbnkgcHVycG9zZSBwZXJtaXR0ZWQgYnkgYXBwbGljYWJsZSBsYXcuPGJyPjxicj5Tb21lIGp1cmlzZGljdGlvbnMgcmVxdWlyZSB0aGF0IHdlIGRldGVybWluZSBhICZsZHF1bztsYXdmdWwgYmFzaXMmcmRxdW87IGZvciBwcm9jZXNzaW5nIHBlcnNvbmFsIGluZm9ybWF0aW9uLiBXaGVyZSBzdWNoIHJlcXVpcmVtZW50cyBleGlzdCwgd2UgcmVseSBvbiB0aGUgZm9sbG93aW5nIGxhd2Z1bCBiYXNlcyBmb3Igb3VyIHByb2Nlc3NpbmcgYWN0aXZpdGllczogdGhhdCB5b3UgaGF2ZSBjb25zZW50ZWQgdG8gdGhlIHByb2Nlc3Npbmc7IHRoYXQgdGhlIHByb2Nlc3NpbmcgaXMgbmVjZXNzYXJ5IGZvciB0aGUgcGVyZm9ybWFuY2Ugb2Ygb3VyIGNvbnRyYWN0IHdpdGggeW91OyB0aGF0IHdlIGhhdmUgYSBsZWdhbCBvYmxpZ2F0aW9uOyBvciB0aGF0IHdlIGhhdmUgYSBsZWdpdGltYXRlIGludGVyZXN0IGluIHByb3ZpZGluZyBhbmQgaW1wcm92aW5nIHRoZSBTZXJ2aWNlcyBhbmQgbWFuYWdpbmcgb3VyIGJ1c2luZXNzIG9wZXJhdGlvbnMuIE91ciBDbGllbnRzIGRldGVybWluZSB0aGUgbGF3ZnVsIGJhc2lzIGZvciBwcm9jZXNzaW5nIEVuZCBVc2VyIHBlcnNvbmFsIGluZm9ybWF0aW9uLjwvcD4NCjxwPiZuYnNwOzwvcD4NCjxwPjxzdHJvbmc+VXNlIG9mIENvb2tpZXM8L3N0cm9uZz48L3A+DQo8cD48YnI+V2hlbiB5b3UgdXNlIHRoZSBTZXJ2aWNlcywgd2UgbWF5IHNlbmQgb25lIG9yIG1vcmUgY29va2llcyAod2hpY2ggYXJlIHNtYWxsIHRleHQgZmlsZXMgY29udGFpbmluZyBhIHN0cmluZyBvZiBhbHBoYW51bWVyaWMgY2hhcmFjdGVycykgdG8geW91ciBjb21wdXRlciBvciBtb2JpbGUgZGV2aWNlLCB0byBoZWxwIGFuYWx5emUgb3VyIHdlYiBwYWdlIGZsb3csIGN1c3RvbWl6ZSBvdXIgY29udGVudCwgbWVhc3VyZSBwcm9tb3Rpb25hbCBlZmZlY3RpdmVuZXNzLCBhbmQgcHJvbW90ZSB0cnVzdCBhbmQgc2FmZXR5LiBZb3UgYXJlIGFsd2F5cyBmcmVlIHRvIGRlY2xpbmUgb3VyIGNvb2tpZXMgaWYgeW91ciBicm93c2VyIHBlcm1pdHMsIGFsdGhvdWdoIGRvaW5nIHNvIG1heSBpbnRlcmZlcmUgd2l0aCB5b3VyIGFiaWxpdHkgdG8gdXNlIHRoZSBTZXJ2aWNlcyBvciBjZXJ0YWluIGZlYXR1cmVzIG9mIHRoZSBTZXJ2aWNlcy4gV2UgbWF5IGFsc28gdXNlIEdvb2dsZSBBbmFseXRpY3Mgb3IgYSBzaW1pbGFyIHNlcnZpY2UgdGhhdCB1c2VzIGNvb2tpZXMgdG8gaGVscCB1cyBhbmFseXplIGhvdyB1c2VycyB1c2UgdGhlIFNlcnZpY2VzLjxicj48YnI+V2UgbWF5IGFsc28gYWxsb3cgY2VydGFpbiB0aGlyZCBwYXJ0aWVzIHN1Y2ggYXMgYWR2ZXJ0aXNpbmcsIGFuYWx5dGljcyBwcm92aWRlcnMsIGFuZCB3aWRnZXQgcHJvdmlkZXJzIHRvIHBsYWNlIGNvb2tpZXMgaW4gb3JkZXIgdG8gY29sbGVjdCBpbmZvcm1hdGlvbiBhYm91dCB5b3VyIG9ubGluZSBhY3Rpdml0aWVzIG92ZXIgdGltZSBhbmQgYWNyb3NzIGRpZmZlcmVudCB3ZWJzaXRlcyB3aGVuIHlvdSBhY2Nlc3Mgb3IgdXNlIHRoZSBTZXJ2aWNlcy4gQ3VycmVudGx5LCB2YXJpb3VzIGJyb3dzZXJzIG9mZmVyIGEgJmxkcXVvO0RvIE5vdCBUcmFjayZyZHF1bzsgb3B0aW9uLCBidXQgdGhlcmUgaXMgbm8gc3RhbmRhcmQgZm9yIGhvdyAmbGRxdW87RG8gTm90IFRyYWNrJnJkcXVvOyBzaG91bGQgd29yayBvbiBjb21tZXJjaWFsIHdlYnNpdGVzLiBEdWUgdG8gdGhlIGxhY2sgb2Ygc3VjaCBzdGFuZGFyZHMsIHRoZSBTZXJ2aWNlcywgaW5jbHVkaW5nIHRoaXMgd2Vic2l0ZSwgZG8gbm90IHJlc3BvbmQgdG8gJmxkcXVvO0RvIE5vdCBUcmFjayZyZHF1bzsgY29uc3VtZXIgYnJvd3NlciBzZXR0aW5ncy48L3A+DQo8cD4mbmJzcDs8L3A+DQo8cD48c3Ryb25nPkhvdyBhbmQgV2hlbiBXZSBEaXNjbG9zZSBZb3VyIFBlcnNvbmFsIEluZm9ybWF0aW9uPC9zdHJvbmc+PC9wPg0KPHA+PGJyPldlIG1heSBkaXNjbG9zZSB5b3VyIHBlcnNvbmFsIGluZm9ybWF0aW9uIHRvIHRoZSBmb2xsb3dpbmcgY2F0ZWdvcmllcyBvZiByZWNpcGllbnRzLCB0byBiZSB1c2VkIG9ubHkgZm9yIGxlZ2l0aW1hdGUgcHVycG9zZXMgaW4ga2VlcGluZyB3aXRoIHRoaXMgUHJpdmFjeSBOb3RpY2U6PC9wPg0KPHA+Jm5ic3A7PC9wPg0KPHVsPg0KPGxpPjxzdHJvbmc+R3JvdXAgY29tcGFuaWVzIGFuZCBhZmZpbGlhdGVzPC9zdHJvbmc+LiBXZSBtYXkgZGlzY2xvc2UsIHNoYXJlLCBvciB0cmFuc2ZlciB5b3VyIGluZm9ybWF0aW9uIHRvIGFueSBidXNpbmVzcyBlbnRpdHkgdGhhdCBpcyBwYXJ0IG9mIG91ciBjb3Jwb3JhdGUgZmFtaWx5LjwvbGk+DQo8L3VsPg0KPHA+Jm5ic3A7PC9wPg0KPHVsPg0KPGxpPjxzdHJvbmc+Q2xpZW50czwvc3Ryb25nPi4gV2UgbWF5IHNoYXJlIHlvdXIgaW5mb3JtYXRpb24gd2l0aCBvdXIgQ2xpZW50cyBpbiBjb25uZWN0aW9uIHdpdGggb3VyIENsaWVudHMmcnNxdW87IHByb3Zpc2lvbiBvZiBzZXJ2aWNlcyB0byB5b3UuPC9saT4NCjwvdWw+DQo8cD4mbmJzcDs8L3A+DQo8dWw+DQo8bGk+PHN0cm9uZz5TZXJ2aWNlIHByb3ZpZGVycyBhbmQgcHJvZmVzc2lvbmFsIGFkdmlzb3JzPC9zdHJvbmc+LiBXZSBtYXkgZGlzY2xvc2UgeW91ciBpbmZvcm1hdGlvbiB0byB0aGlyZCBwYXJ0eSB2ZW5kb3JzIHdobyBwcm92aWRlIHNlcnZpY2VzIGluIHN1cHBvcnQgb2Ygb3VyIGJ1c2luZXNzIG9wZXJhdGlvbnMsIHN1Y2ggYXMgd2Vic2l0ZSBkZXZlbG9wbWVudCBhbmQgaG9zdGluZywgcGF5bWVudCBwcm9jZXNzaW5nLCBtYXJrZXRpbmcgbWFuYWdlbWVudCwgc2VydmljZSBvcHRpbWl6YXRpb24sIHZlbmRvcnMgdGhhdCBmdWxmaWxsIG9yZGVycyBmb3IgZnVuZXJhbC1yZWxhdGVkIGl0ZW1zIHN1Y2ggYXMgZmxvd2VycywgYW5kIGRhdGEgYW5hbHl0aWNzLiBXZSBtYXkgYWxzbyBkaXNjbG9zZSB5b3VyIHBlcnNvbmFsIGluZm9ybWF0aW9uIHRvIHByb2Zlc3Npb25hbCBhZHZpc29ycyBzdWNoIGFzIG91ciBhdHRvcm5leXMsIGFjY291bnRhbnRzLCBhbmQgb3VycyBvciBFbmQgVXNlcnMmcnNxdW87IGluc3VyYW5jZSBwcm92aWRlcnMuPC9saT4NCjwvdWw+DQo8cD4mbmJzcDs8L3A+DQo8dWw+DQo8bGk+PHN0cm9uZz5QYXJ0aWVzIGludm9sdmVkIGluIGEgY29ycG9yYXRlIHRyYW5zYWN0aW9uPC9zdHJvbmc+LiBXZSBtYXkgZGlzY2xvc2UgeW91ciBpbmZvcm1hdGlvbiB0byByZWxldmFudCB0aGlyZCBwYXJ0aWVzIGluIHRoZSBldmVudCBvZiBhIGRpdmVzdGl0dXJlLCBtZXJnZXIsIGNvbnNvbGlkYXRpb24sIG9yIGFzc2V0IHNhbGUsIG9yIGluIHRoZSB1bmxpa2VseSBldmVudCBvZiBhIGJhbmtydXB0Y3kuPC9saT4NCjwvdWw+DQo8cD4mbmJzcDs8L3A+DQo8dWw+DQo8bGk+PHN0cm9uZz5MYXcgZW5mb3JjZW1lbnQgb3Igb3RoZXIgZ292ZXJubWVudGFsIGVudGl0aWVzPC9zdHJvbmc+LiBXZSBtYXkgZGlzY2xvc2UgeW91ciBpbmZvcm1hdGlvbiBpZiByZXF1aXJlZCB0byBkbyBzbyBieSBsYXcgb3IgaWYgd2UgYmVsaWV2ZSBpbiBnb29kIGZhaXRoIHRoYXQgc3VjaCBhY3Rpb24gaXMgbmVjZXNzYXJ5IHRvIGNvbXBseSB3aXRoIHRoZSBsYXcsIHByZXZlbnQgdW5sYXdmdWwgYWN0aXZpdHksIGRlZmVuZCBvdXIgcmlnaHRzLCBvciBtYWludGFpbiBzZWN1cml0eS48L2xpPg0KPC91bD4NCjxwPiZuYnNwOzwvcD4NCjx1bD4NCjxsaT48c3Ryb25nPk90aGVyIHRoaXJkIHBhcnRpZXMgd2l0aCB5b3VyIGNvbnNlbnQ8L3N0cm9uZz4uIFdlIG1heSBkaXNjbG9zZSB5b3VyIGluZm9ybWF0aW9uIHRvIGFueSBvdGhlciB0aGlyZCBwYXJ0eSB3aGVyZSB5b3UgaGF2ZSBwcm92aWRlZCBjb25zZW50IHRvIHN1Y2ggZGlzY2xvc3VyZS48L2xpPg0KPC91bD4NCjxwPjxzdHJvbmc+Jm5ic3A7PC9zdHJvbmc+PC9wPg0KPHA+PHN0cm9uZz5TZWN1cml0eSwgUmV0ZW50aW9uICZhbXA7IFRyYW5zZmVyIG9mIFBlcnNvbmFsIEluZm9ybWF0aW9uPC9zdHJvbmc+PC9wPg0KPHA+PGJyPldlIGhhdmUgaW1wbGVtZW50ZWQgYW5kIG1haW50YWluIGNvbW1lcmNpYWxseSByZWFzb25hYmxlIGFuZCBhcHByb3ByaWF0ZSB0ZWNobmljYWwgYW5kIG9yZ2FuaXphdGlvbmFsIG1lYXN1cmVzIGRlc2lnbmVkIHRvIHByb3RlY3QgdGhlIGNvbmZpZGVudGlhbGl0eSwgaW50ZWdyaXR5LCBhbmQgc2VjdXJpdHkgb2YgeW91ciBwZXJzb25hbCBpbmZvcm1hdGlvbi4gUGxlYXNlIG5vdGUsIGhvd2V2ZXIsIHRoYXQgbm8gc2VjdXJpdHkgbWVhc3VyZXMgYXJlIHBlcmZlY3Qgb3IgaW1wZW5ldHJhYmxlLiBXZSB0aGVyZWZvcmUgY2Fubm90IGd1YXJhbnR5IGFuZCBkbyBub3Qgd2FycmFudCB0aGUgYWJzb2x1dGUgc2VjdXJpdHkgb2YgeW91ciBwZXJzb25hbCBpbmZvcm1hdGlvbi4gV2UgcmV0YWluIHlvdXIgcGVyc29uYWwgaW5mb3JtYXRpb24gZm9yIG5vIGxvbmdlciB0aGFuIHJlYXNvbmFibHkgbmVjZXNzYXJ5IHRvIGZ1bGZpbGwgdGhlIHB1cnBvc2VzIGZvciB3aGljaCB3ZSBjb2xsZWN0ZWQgaXQgb3IgdG8gY29tcGx5IHdpdGggdGhlIGxhdywgcHJldmVudCBmcmF1ZCwgZmFjaWxpdGF0ZSBhbiBpbnZlc3RpZ2F0aW9uLCBkZWZlbmQgYWdhaW5zdCBsZWdhbCBjbGFpbXMsIG9yIGV4ZXJjaXNlIG91ciBsZWdhbCByaWdodHMuPGJyPjxicj5EZXBlbmRpbmcgb24geW91ciBsb2NhdGlvbiwgdGhlIHBlcnNvbmFsIGluZm9ybWF0aW9uIHdlIGNvbGxlY3QgYWJvdXQgeW91IG1heSBiZSB0cmFuc2ZlcnJlZCB0byBhIGp1cmlzZGljdGlvbiB0aGF0IGRvZXMgbm90IHByb3ZpZGUgdGhlIHNhbWUgbGV2ZWwgb2YgcHJvdGVjdGlvbiBvZiBwZXJzb25hbCBpbmZvcm1hdGlvbiBhcyB0aGUganVyaXNkaWN0aW9uIGluIHdoaWNoIHlvdSByZXNpZGUuIEFtb25nIG90aGVyIHBsYWNlcywgcGVyc29uYWwgaW5mb3JtYXRpb24gbWF5IGJlIHRyYW5zZmVycmVkIHRvLCBhbmQgc3RvcmVkIGluLCBDYW5hZGEsIEF1c3RyYWxpYSBhbmQgdGhlIFVuaXRlZCBTdGF0ZXMuIFRyYW5zZmVycyBmcm9tIHRoZSBFdXJvcGVhbiBVbmlvbiB0byBDYW5hZGEgYXJlIG1hZGUgcHVyc3VhbnQgdG8gRXVyb3BlYW4gQ29tbWlzc2lvbiBEZWNpc2lvbiAyMDAyLzIvRUMsIHdoaWNoIGRldGVybWluZWQgdGhhdCBDYW5hZGEgaXMgY29uc2lkZXJlZCBhcyBwcm92aWRpbmcgYW4gYWRlcXVhdGUgbGV2ZWwgb2YgcHJvdGVjdGlvbiBvZiBwZXJzb25hbCBpbmZvcm1hdGlvbi48L3A+DQo8cD4mbmJzcDs8L3A+DQo8cD48c3Ryb25nPllvdXIgQ2hvaWNlcyAmYW1wOyBSaWdodHM8L3N0cm9uZz48L3A+DQo8cD48YnI+WW91IG1heSBkZWNsaW5lIHRvIHNoYXJlIGNlcnRhaW4gaW5mb3JtYXRpb24gd2l0aCB1cywgaW4gd2hpY2ggY2FzZSB3ZSBtYXkgbm90IGJlIGFibGUgdG8gcHJvdmlkZSB0byB5b3Ugc29tZSBvZiB0aGUgZmVhdHVyZXMgYW5kIGZ1bmN0aW9uYWxpdHkgb2YgdGhlIFNlcnZpY2VzLiBPbmNlIHlvdSBoYXZlIHJlZ2lzdGVyZWQgZm9yIGFuIGFjY291bnQgd2l0aCB1cywgeW91IG1heSB1cGRhdGUsIGNvcnJlY3QsIG9yIGRlbGV0ZSB5b3VyIHByb2ZpbGUgaW5mb3JtYXRpb24gYW5kIHByZWZlcmVuY2VzIGF0IGFueSB0aW1lIGJ5IGFjY2Vzc2luZyB5b3VyIGFjY291bnQgcHJlZmVyZW5jZXMgcGFnZSB0aHJvdWdoIHRoZSBTZXJ2aWNlcy4gSWYgeW91IGRvIG5vdCB3aXNoIHRvIHJlY2VpdmUgbWFya2V0aW5nIGNvbW11bmljYXRpb25zIGZyb20gdXMsIHlvdSBjYW4gb3B0LW91dCBieSB1c2luZyB0aGUgdW5zdWJzY3JpYmUgcHJvY2VzcyBwcm92aWRlZCBvciBkZXNjcmliZWQgaW4gYW55IHN1Y2ggY29tbXVuaWNhdGlvbiwgYnV0IHlvdSBtYXkgc3RpbGwgcmVjZWl2ZSB0cmFuc2FjdGlvbmFsIG9yIGFkbWluaXN0cmF0aXZlIGNvbW11bmljYXRpb25zIGZyb20gdXMuIEFsdGhvdWdoIHlvdXIgY2hhbmdlcyBhcmUgcmVmbGVjdGVkIHByb21wdGx5IGluIGFjdGl2ZSB1c2VyIGRhdGFiYXNlcywgd2UgbWF5IHJldGFpbiBhbGwgaW5mb3JtYXRpb24geW91IHN1Ym1pdCBmb3IgYSB2YXJpZXR5IG9mIHB1cnBvc2VzLCBpbmNsdWRpbmcgYmFja3VwcyBhbmQgYXJjaGl2aW5nLCBwcmV2ZW50aW9uIG9mIGZyYXVkIGFuZCBhYnVzZSwgYW5kIGFuYWx5dGljcy48YnI+PGJyPkRlcGVuZGluZyBvbiB5b3VyIGxvY2F0aW9uIGFuZCBzdWJqZWN0IHRvIGxvY2FsIGxhdywgeW91IG1heSBoYXZlIGNlcnRhaW4gcmlnaHRzIHdpdGggcmVzcGVjdCB0byB5b3VyIHBlcnNvbmFsIGluZm9ybWF0aW9uLiBUaGVzZSBtYXkgaW5jbHVkZTogdGhlIHJpZ2h0IHRvIGFjY2VzcywgY29ycmVjdCwgYW5kIGRlbGV0ZSB5b3VyIHBlcnNvbmFsIGluZm9ybWF0aW9uOyB0aGUgcmlnaHQgdG8gcmVzdHJpY3Qgb3Igb2JqZWN0IHRvIG91ciB1c2Ugb2YgeW91ciBwZXJzb25hbCBpbmZvcm1hdGlvbjsgYW5kIHRoZSByaWdodCB0byByZWNlaXZlIGEgcG9ydGFibGUgY29weSBvZiB5b3VyIHBlcnNvbmFsIGluZm9ybWF0aW9uIGluIGEgdXNhYmxlIGZvcm1hdC4gSWYgeW91IHByb3ZpZGUgdXMgd2l0aCBjb25zZW50IHRvIHVzZSB5b3VyIHBlcnNvbmFsIGluZm9ybWF0aW9uLCB5b3UgbWF5IHdpdGhkcmF3IHRoYXQgY29uc2VudCBhdCBhbnkgdGltZSwgaG93ZXZlciwgc3VjaCB3aXRoZHJhd2FsIHdpbGwgbm90IGltcGFjdCB0aGUgbGF3ZnVsbmVzcyBvZiBvdXIgdXNlIG9mIHlvdXIgcGVyc29uYWwgaW5mb3JtYXRpb24gYmFzZWQgb24geW91ciBjb25zZW50IHVwIHRvIHRoYXQgcG9pbnQuPGJyPjxicj5UbyBtYWtlIGEgcmVxdWVzdCByZWxhdGVkIHRvIHlvdXIgcGVyc29uYWwgaW5mb3JtYXRpb24gb3Igb3RoZXJ3aXNlIGV4ZXJjaXNlIHlvdXIgcmlnaHRzLCB5b3UgbWF5IGNvbnRhY3QgdXMgdXNpbmcgdGhlIGNvbnRhY3QgaW5mb3JtYXRpb24gcHJvdmlkZWQgYmVsb3cuIEluIG9yZGVyIHRvIGZ1bGZpbGwgeW91ciByZXF1ZXN0LCB3ZSBtYXkgcmVxdWlyZSBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIGZyb20geW91LiBXZSB3aWxsIHJlc3BvbmQgdG8gcmVxdWVzdHMgd2l0aGluIHRoZSByZWxldmFudCB0aW1lIHBlcmlvZHMgZXN0YWJsaXNoZWQgYnkgYXBwbGljYWJsZSBsYXcuIFdlIGFyZSBjb21taXR0ZWQgdG8gZmluZGluZyBhIGZhaXIgYW5kIHJlYXNvbmFibGUgcmVzb2x1dGlvbiB0byBhbnkgcmVxdWVzdCwgY29uY2Vybiwgb3IgY29tcGxhaW50IHlvdSBicmluZyB0byBvdXIgYXR0ZW50aW9uLiBIb3dldmVyLCBpZiB5b3UgYXJlIHVuc2F0aXNmaWVkIHdpdGggb3VyIHJlc3BvbnNlIHRvIHlvdXIgcmVxdWVzdCwgeW91IG1heSBoYXZlIHRoZSByaWdodCB0byBsb2RnZSBhIGNvbXBsYWludCB3aXRoIGFwcGxpY2FibGUgZ292ZXJubWVudGFsIGF1dGhvcml0aWVzLCBzdWJqZWN0IHRvIGxvY2FsIGxhdy48L3A+DQo8cD4mbmJzcDs8L3A+DQo8cD48c3Ryb25nPkNoaWxkcmVuJnJzcXVvO3MgUHJpdmFjeTwvc3Ryb25nPjwvcD4NCjxwPjxicj5XZSBkbyBub3Qga25vd2luZ2x5IGNvbGxlY3Qgb3IgbWFpbnRhaW4gaW5mb3JtYXRpb24gZnJvbSBwZXJzb25zIHVuZGVyIDE2IHllYXJzIG9mIGFnZSAoJmxkcXVvO2NoaWxkcmVuJnJkcXVvOyksIGFuZCBubyBwYXJ0IG9mIHRoZSBTZXJ2aWNlcyBpcyBkaXJlY3RlZCB0byBjaGlsZHJlbi4gSWYgeW91IGFyZSB1bmRlciAxNiB5ZWFycyBvZiBhZ2UsIHRoZW4gcGxlYXNlIGRvIG5vdCB1c2Ugb3IgYWNjZXNzIHRoZSBTZXJ2aWNlcyBhdCBhbnkgdGltZSBvciBpbiBhbnkgbWFubmVyLiBJZiB3ZSBsZWFybiB0aGF0IGluZm9ybWF0aW9uIGhhcyBiZWVuIGNvbGxlY3RlZCB0aHJvdWdoIHRoZSBTZXJ2aWNlcyBmcm9tIGNoaWxkcmVuIGFuZCB3aXRob3V0IHZlcmlmaWFibGUgcGFyZW50YWwgY29uc2VudCwgdGhlbiB3ZSB3aWxsIHRha2UgdGhlIGFwcHJvcHJpYXRlIHN0ZXBzIHRvIGRlbGV0ZSB0aGlzIGluZm9ybWF0aW9uLiBJZiB5b3UgYXJlIGEgcGFyZW50IG9yIGd1YXJkaWFuIGFuZCBkaXNjb3ZlciB0aGF0IHlvdXIgY2hpbGQgaGFzIHByb3ZpZGVkIHVzIHdpdGggcGVyc29uYWwgaW5mb3JtYXRpb24gd2l0aG91dCB5b3VyIGNvbnNlbnQsIHBsZWFzZSBjb250YWN0IHVzIHVzaW5nIHRoZSBjb250YWN0IGluZm9ybWF0aW9uIGJlbG93IHRvIHJlcXVlc3QgdGhhdCB3ZSBkZWxldGUgdGhlIGluZm9ybWF0aW9uIGZyb20gb3VyIHN5c3RlbXMuPC9wPg0KPHA+Jm5ic3A7PC9wPg0KPHA+PHN0cm9uZz5BcHBsaWNhYmxlIEVudGl0eTwvc3Ryb25nPjwvcD4NCjxwPjxicj5BbGwgcmVmZXJlbmNlcyB0byAmbGRxdW87VHJpYnV0ZSBUZWNobm9sb2d5LCZyZHF1bzsgJmxkcXVvO3dlLCZyZHF1bzsgJmxkcXVvO3VzJnJkcXVvOyBvciAmbGRxdW87b3VyJnJkcXVvOyBpbiB0aGlzIFByaXZhY3kgTm90aWNlIHJlZmVyIHRvIHRoZSBhcHBsaWNhYmxlIGVudGl0eSBzcGVjaWZpZWQgaW4gdGhlIHRhYmxlIGJlbG93LCB3aGljaCBpcyBiYXNlZCBvbiB0aGUgbG9jYXRpb24gb2YgdGhlIGJ1c2luZXNzIGFkZHJlc3Mgb2YgdGhlIENsaWVudCBvciBvdGhlciBidXNpbmVzcyBvbiB3aG9zZSB3ZWJzaXRlIHRoaXMgUHJpdmFjeSBOb3RpY2UgYXBwZWFycyAoYXMgcG9zdGVkIG9uIHN1Y2ggd2Vic2l0ZSk6PC9wPg0KPHA+Jm5ic3A7PC9wPg0KPHRhYmxlPg0KPHRib2R5Pg0KPHRyPg0KPHRkIHdpZHRoPSIxODYiPg0KPHA+PHN0cm9uZz5Mb2NhdGlvbiBvZiBCdXNpbmVzcyBBZGRyZXNzPC9zdHJvbmc+PC9wPg0KPC90ZD4NCjx0ZCB3aWR0aD0iMjEwIj4NCjxwPjxzdHJvbmc+QXBwbGljYWJsZSBFbnRpdHk8L3N0cm9uZz48L3A+DQo8L3RkPg0KPC90cj4NCjx0cj4NCjx0ZCB3aWR0aD0iMTg2Ij4NCjxwPkNhbmFkYTwvcD4NCjwvdGQ+DQo8dGQgd2lkdGg9IjIxMCI+DQo8cD5UcmlidXRlIFRlY2hub2xvZ3kgQ2FuYWRhLCBVTEMsIGEgQnJpdGlzaCBDb2x1bWJpYSB1bmxpbWl0ZWQgbGlhYmlsaXR5IGNvbXBhbnk8L3A+DQo8L3RkPg0KPC90cj4NCjx0cj4NCjx0ZCB3aWR0aD0iMTg2Ij4NCjxwPlVuaXRlZCBTdGF0ZXMgYW5kIHRoZSByZXN0IG9mIHRoZSB3b3JsZCBvdXRzaWRlIENhbmFkYTwvcD4NCjwvdGQ+DQo8dGQgd2lkdGg9IjIxMCI+DQo8cD5UcmlidXRlIFRlY2hub2xvZ3kgVVMsIExMQywgYSBEZWxhd2FyZSBsaW1pdGVkIGxpYWJpbGl0eSBjb21wYW55PC9wPg0KPC90ZD4NCjwvdHI+DQo8L3Rib2R5Pg0KPC90YWJsZT4NCjxwPiZuYnNwOzwvcD4NCjxwPjxzdHJvbmc+Q2FsaWZvcm5pYSBSZXNpZGVudHM8L3N0cm9uZz48L3A+DQo8cD48YnI+U3VwcGxlbWVudGFsIHRvIHRoZSBhYm92ZSwgdGhlIGZvbGxvd2luZyBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHBlcnRhaW5zIHRvIENhbGlmb3JuaWEgcmVzaWRlbnRzIG9ubHk6PGJyPjxicj48ZW0+PHU+Q29sbGVjdGlvbiBhbmQgVXNlIG9mIFBlcnNvbmFsIEluZm9ybWF0aW9uPC91PjwvZW0+PC9wPg0KPHVsPg0KPGxpPkNhdGVnb3JpZXMgb2YgcGVyc29uYWwgaW5mb3JtYXRpb24gY29sbGVjdGVkIGFib3V0IENhbGlmb3JuaWEgcmVzaWRlbnRzIGluIHRoZSBwYXN0IHR3ZWx2ZSBtb250aHMgaW5jbHVkZSBpZGVudGlmaWVycywgb3RoZXIgaWRlbnRpZnlpbmcgaW5mb3JtYXRpb24sIGNoYXJhY3RlcmlzdGljcyBvZiBwcm90ZWN0ZWQgY2xhc3MsIGNvbW1lcmNpYWwgaW5mb3JtYXRpb24sIEludGVybmV0IG9yIG90aGVyIGVsZWN0cm9uaWMgbmV0d29yayBhY3Rpdml0eSBpbmZvcm1hdGlvbiwgcHJvZmVzc2lvbmFsIG9yIGVtcGxveW1lbnQtcmVsYXRlZCBpbmZvcm1hdGlvbiwgZWR1Y2F0aW9uIGluZm9ybWF0aW9uLCBhbmQgaW5mZXJlbmNlcyBkcmF3biBmcm9tIHN1Y2ggaW5mb3JtYXRpb24uIEZvciBleGFtcGxlcyBvZiBzcGVjaWZpYyBwaWVjZXMgb2YgcGVyc29uYWwgaW5mb3JtYXRpb24gY29sbGVjdGVkLCBwbGVhc2Ugc2VlIHRoZSAmbGRxdW87UGVyc29uYWwgSW5mb3JtYXRpb24gV2UgQ29sbGVjdCZyZHF1bzsgc2VjdGlvbiBhYm92ZS48L2xpPg0KPC91bD4NCjxwPiZuYnNwOzwvcD4NCjx1bD4NCjxsaT5DYXRlZ29yaWVzIG9mIHBlcnNvbmFsIGluZm9ybWF0aW9uIGRpc2Nsb3NlZCBmb3IgYSBidXNpbmVzcyBwdXJwb3NlIGFib3V0IENhbGlmb3JuaWEgcmVzaWRlbnRzIGluIHRoZSBwYXN0IHR3ZWx2ZSBtb250aHMgaW5jbHVkZSBpZGVudGlmaWVycywgb3RoZXIgaWRlbnRpZnlpbmcgaW5mb3JtYXRpb24sIGNoYXJhY3RlcmlzdGljcyBvZiBwcm90ZWN0ZWQgY2xhc3MsIGNvbW1lcmNpYWwgaW5mb3JtYXRpb24sIEludGVybmV0IG9yIG90aGVyIGVsZWN0cm9uaWMgbmV0d29yayBhY3Rpdml0eSBpbmZvcm1hdGlvbiwgcHJvZmVzc2lvbmFsIG9yIGVtcGxveW1lbnQtcmVsYXRlZCBpbmZvcm1hdGlvbiwgYW5kIGVkdWNhdGlvbiBpbmZvcm1hdGlvbi48L2xpPg0KPC91bD4NCjxwPiZuYnNwOzwvcD4NCjx1bD4NCjxsaT5XZSBkbyBub3Qgc2VsbCBwZXJzb25hbCBpbmZvcm1hdGlvbiwgbm9yIGRvIHdlIHNoYXJlIHBlcnNvbmFsIGluZm9ybWF0aW9uIHdpdGggdGhpcmQgcGFydGllcyBmb3IgdGhvc2UgdGhpcmQgcGFydGllcyZyc3F1bzsgZGlyZWN0IG1hcmtldGluZyBwdXJwb3Nlcy48L2xpPg0KPC91bD4NCjxwPjxicj48ZW0+PHU+WW91ciBDYWxpZm9ybmlhIFByaXZhY3kgUmlnaHRzPC91PjwvZW0+PGJyPkFzIGEgQ2FsaWZvcm5pYSByZXNpZGVudCwgeW91IGhhdmUgdGhlIGZvbGxvd2luZyByaWdodHMgd2l0aCByZXNwZWN0IHRvIHlvdXIgcGVyc29uYWwgaW5mb3JtYXRpb246PC9wPg0KPHA+Jm5ic3A7PC9wPg0KPHVsPg0KPGxpPllvdSBoYXZlIHRoZSByaWdodCB0byByZXF1ZXN0IHRvIGtub3cgYWJvdXQgcGVyc29uYWwgaW5mb3JtYXRpb24gY29sbGVjdGVkLCBkaXNjbG9zZWQsIG9yIHNvbGQuPC9saT4NCjwvdWw+DQo8cD4mbmJzcDs8L3A+DQo8dWw+DQo8bGk+WW91IGhhdmUgdGhlIHJpZ2h0IHRvIHJlcXVlc3QgdGhlIGRlbGV0aW9uIG9mIHBlcnNvbmFsIGluZm9ybWF0aW9uLjwvbGk+DQo8L3VsPg0KPHA+Jm5ic3A7PC9wPg0KPHVsPg0KPGxpPllvdSBoYXZlIHRoZSByaWdodCB0byBvcHQtb3V0IG9mIHRoZSBzYWxlIG9mIHlvdXIgcGVyc29uYWwgaW5mb3JtYXRpb24gYXQgYW55IHRpbWUuIE5vdGUgdGhhdCB3ZSBkbyBub3QgY3VycmVudGx5IHNlbGwgcGVyc29uYWwgaW5mb3JtYXRpb24uPC9saT4NCjwvdWw+DQo8cD48YnI+RmluYWxseSwgeW91IGhhdmUgdGhlIHJpZ2h0IHRvIG5vdCBiZSBkaXNjcmltaW5hdGVkIGFnYWluc3QgYXMgYSByZXN1bHQgb2YgZXhlcmNpc2luZyB5b3VyIHByaXZhY3kgcmlnaHRzLiBBY2NvcmRpbmdseSwgdW5sZXNzIHBlcm1pdHRlZCBieSBsYXcsIHdlIHdpbGwgbm90IGRlbnkgeW91IGdvb2RzIG9yIHNlcnZpY2VzLCBjaGFyZ2UgeW91IGRpZmZlcmVudCBwcmljZXMgb3IgcmF0ZXMgZm9yIGdvb2RzIG9yIHNlcnZpY2VzLCBwcm92aWRlIHlvdSBhIGRpZmZlcmVudCBsZXZlbCBvciBxdWFsaXR5IG9mIGdvb2RzIG9yIHNlcnZpY2VzLCBvciBzdWdnZXN0IHlvdSB3aWxsIHJlY2VpdmUgYSBkaWZmZXJlbnQgcHJpY2Ugb3IgcmF0ZSBmb3IgZ29vZHMgb3Igc2VydmljZXMgb3IgYSBkaWZmZXJlbnQgbGV2ZWwgb3IgcXVhbGl0eSBvZiBnb29kcyBvciBzZXJ2aWNlcy48YnI+PGJyPlRvIGV4ZXJjaXNlIHlvdXIgcmlnaHRzLCB5b3UgbWF5IGNvbnRhY3QgdXMgdXNpbmcgdGhlIGNvbnRhY3QgaW5mb3JtYXRpb24gcHJvdmlkZWQgYmVsb3cgb3IgY2FsbCAxLTgzMy0zMDMtMTg4MC4gSW4gb3JkZXIgdG8gZnVsZmlsbCB5b3VyIHJlcXVlc3QsIHdlIG1heSByZXF1aXJlIGFkZGl0aW9uYWwgcGVyc29uYWwgaW5mb3JtYXRpb24gZm9yIHB1cnBvc2VzIG9mIHZlcmlmeWluZyB5b3VyIGlkZW50aXR5LiBJZiB5b3UgbWFrZSBhIHJlcXVlc3QgdGhyb3VnaCBhbiBhdXRob3JpemVkIGFnZW50LCB3ZSBtYXkgcmVxdWlyZSBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHRvIHZlcmlmeSB5b3VyIGF1dGhvcml6YXRpb24gb2YgdGhlIGFnZW50LjwvcD4NCjxwPjxzdHJvbmc+Jm5ic3A7PC9zdHJvbmc+PC9wPg0KPHA+PHN0cm9uZz5DaGFuZ2VzIHRvIFByaXZhY3kgTm90aWNlPC9zdHJvbmc+PC9wPg0KPHA+PGJyPldlIHJlc2VydmUgdGhlIHJpZ2h0IHRvIG1ha2UgY2hhbmdlcyB0byB0aGlzIFByaXZhY3kgTm90aWNlIGF0IGFueSB0aW1lLCB3aXRob3V0IG5vdGljZS4gV2Ugd2lsbCBub3RpZnkgeW91IGFib3V0IGNoYW5nZXMgdGhhdCBzaWduaWZpY2FudGx5IGltcGFjdCBvdXIgdXNlIG9mIHlvdXIgcGVyc29uYWwgaW5mb3JtYXRpb24gYnkgcGxhY2luZyBhIHByb21pbmVudCBub3RpY2Ugb24gdGhpcyB3ZWJzaXRlIG9yIGJ5IHNlbmRpbmcgeW91IGFuIGVtYWlsLiBQbGVhc2UgcmV2aXNpdCB0aGlzIHBhZ2UgcGVyaW9kaWNhbGx5IHRvIHN0YXkgYXdhcmUgb2YgYW55IGNoYW5nZXMgdG8gdGhpcyBQcml2YWN5IE5vdGljZS4gRm9yIHRoZSBhdm9pZGFuY2Ugb2YgZG91YnQsIGRpc3B1dGVzIGFyaXNpbmcgaGVyZXVuZGVyIHdpbGwgYmUgcmVzb2x2ZWQgaW4gYWNjb3JkYW5jZSB3aXRoIHRoZSBQcml2YWN5IE5vdGljZSBpbiBlZmZlY3QgYXQgdGhlIHRpbWUgdGhlIGRpc3B1dGUgYXJvc2UuPC9wPg0KPHA+Jm5ic3A7PC9wPg0KPHA+PHN0cm9uZz5Db250YWN0IFVzPC9zdHJvbmc+PC9wPg0KPHA+PGJyPlBsZWFzZSBjb250YWN0IHVzIHdpdGggYW55IHF1ZXN0aW9ucywgY29tbWVudHMgb3IgY29uY2VybnMgYWJvdXQgdGhpcyBQcml2YWN5IE5vdGljZSBvciBvdXIgdXNlIG9mIHlvdXIgcGVyc29uYWwgaW5mb3JtYXRpb24gYnkgZW1haWwgYXQgcHJpdmFjeUB0cmlidXRldGVjaC5jb20gb3IgYnkgbWFpbCBhdDo8L3A+DQo8cD48YnI+VHJpYnV0ZSBUZWNobm9sb2d5PGJyPjI1MDEgUGFybWVudGVyIFN0cmVldCwgU3VpdGUgMzAwQzxicj5NaWRkbGV0b24sIFdJIDUzNTYyPC9wPg0KPHA+Jm5ic3A7PC9wPg/div> div classbase64 styledisplay: none idtermsOfUse> PGRpdiBpZD0iMTc3ODY4MTk4NiIgY2xhc3M9InVfMTc3ODY4MTk4NiBkbU5ld1BhcmFncmFwaCIgZGF0YS1lbGVtZW50LXR5cGU9InBhcmFncmFwaCIgZGF0YS12ZXJzaW9uPSI1IiBkYXRhLWFuaW0tZXh0ZW5kZWQ9ImV5SmtaWE5yZEc5d0lqcDdJblJ5YVdkblpYSWlPaUpsYm5SeVlXNWpaU0lzSW1GdWFXMWhkR2x2YmlJNkltWmhaR1ZKYmtOdmJXSnZJaXdpWkhWeVlYUnBiMjRpT2pFc0ltUmxiR0Y1SWpvd0xqVXNJbWx1ZEdWdWMybDBlU0k2TVN3aWNtVjJaWEp6WlNJNlptRnNjMlVzSW1ScGNpSTZJbWx1TFhCc1lXTmxJbjE5IiBkYXRhLWFuaW0tZGVza3RvcD0iZmFkZUluQ29tYm8iPg0KPHA+PHN0cm9uZz5UcmlidXRlIFRlY2hub2xvZ3kgVGVybXMgb2YgVXNlPC9zdHJvbmc+PC9wPg0KPHA+PGVtPkxhc3QgVXBkYXRlZDogQXByaWwgMjAsIDIwMjM8L2VtPjxicj48YnI+VGhlc2UgVGVybXMgb2YgVXNlLCB0b2dldGhlciB3aXRoIFRyaWJ1dGUgVGVjaG5vbG9neSdzIDxhIGhyZWY9Imh0dHBzOi8vd3d3LnRyaWJ1dGV0ZWNoLmNvbS9wcml2YWN5LXBvbGljeSIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiPjx1PlByaXZhY3kgUG9saWN5PC91PjwvYT4sIChjb2xsZWN0aXZlbHksIHRoZSAiVGVybXMiKSBzZXQgZm9ydGggdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIHRoYXQgYXBwbHkgdG8geW91ciBhY2Nlc3MgYW5kIHVzZSBvZiB0aGUgd2Vic2l0ZSBvZiBUcmlidXRlIFRlY2hub2xvZ3kgKGh0dHBzOi8vd3d3LnRyaWJ1dGV0ZWNoLmNvbS8pIGFuZCBvdXIgYXNzb2NpYXRlZCBzZXJ2aWNlcywgaW5jbHVkaW5nIFRyaWJ1dGUgVGVjaG5vbG9neSBzZXJ2aWNlcyB0aGF0IGFyZSBhdmFpbGFibGUgdGhyb3VnaCB0aGUgd2Vic2l0ZXMgb2Ygb3VyIGNsaWVudCBmdW5lcmFsIGhvbWVzIGFuZCBvdGhlciBmdW5lcmFsIHByb2Zlc3Npb25hbHMgKGVhY2gsIGEgJmxkcXVvO0NsaWVudCZyZHF1bzspIGFuZCBhbnkgb3RoZXIgd2Vic2l0ZXMgd2hlcmUgd2UgbGluayB0byB0aGVzZSBUZXJtcyAodG9nZXRoZXIsIHRoZSAiU2l0ZXMiKSwgd2hldGhlciBhcyBhIENsaWVudCwgZW5kIHVzZXIgb3IgY3VzdG9tZXIgb2YgYSBDbGllbnQsIG9yIG90aGVyd2lzZS4gU3VjaCBUcmlidXRlIFRlY2hub2xvZ3kgc2VydmljZXMgYXJlIHJlZmVycmVkIHRvIGhlcmVpbiBjb2xsZWN0aXZlbHkgYXMgdGhlICZsZHF1bztTZXJ2aWNlcy4mcmRxdW87IENlcnRhaW4gU2VydmljZXMgYWNjZXNzaWJsZSB0aHJvdWdoIHRoZSBTaXRlcyBtYXkgaGF2ZSB0aGVpciBvd24gdGVybXMgYW5kIGNvbmRpdGlvbnMgdGhhdCBhcHBseSB0byB5b3VyIHVzZSBvZiB0aG9zZSBwYXJ0aWN1bGFyIFNlcnZpY2VzLiZuYnNwOyBUaGVzZSBUZXJtcyBjb25zdGl0dXRlIGEgbGVnYWxseSBiaW5kaW5nIGFncmVlbWVudCBiZXR3ZWVuIHlvdSwgd2hldGhlciBwZXJzb25hbGx5IG9yIG9uIGJlaGFsZiBvZiBhbiBlbnRpdHkgKCJ5b3UiKSwgYW5kIHRoZSBhcHBsaWNhYmxlIGVudGl0eSByZWZlcnJlZCB0byBpbiBTZWN0aW9uIDEzIG9mIHRoZXNlIFRlcm1zICgiVHJpYnV0ZSBUZWNobm9sb2d5LCIgIndlLCIgInVzIiBhbmQgJmxkcXVvO291ciZyZHF1bzspIGNvbmNlcm5pbmcgeW91ciBhY2Nlc3MgdG8gYW5kIHVzZSBvZiB0aGUgU2VydmljZXMuPGJyPjxicj5CeSB1c2luZyBvciBhY2Nlc3NpbmcgdGhlIFNlcnZpY2VzLCB5b3UgYWdyZWUgdG8gdGhlc2UgVGVybXMsIGFzIG1heSBiZSB1cGRhdGVkIGZyb20gdGltZSB0byB0aW1lIGluIGFjY29yZGFuY2Ugd2l0aCBTZWN0aW9uIDkgYmVsb3cuIElmIHlvdSBkbyBub3QgYWdyZWUgdG8gdGhlIGZvbGxvd2luZyBUZXJtcywgZG8gbm90IGFjY2VzcyBvciB1c2UgdGhlIFNlcnZpY2VzLjwvcD4NCjxwPiZuYnNwOzwvcD4NCjxwPjxzdHJvbmc+PHU+Tm90aWNlIG9mIEJpbmRpbmcgQXJiaXRyYXRpb248L3U+PC9zdHJvbmc+PHN0cm9uZz4uJm5ic3A7IFRoZXNlIFRlcm1zIHByb3ZpZGUgdGhhdCBhbGwgZGlzcHV0ZXMgYmV0d2VlbiB5b3UgYW5kIHVzIHRoYXQgaW4gYW55IHdheSByZWxhdGUgdG8gdGhlc2UgVGVybXMgb3IgeW91ciB1c2Ugb2YgdGhlIFNlcnZpY2VzIHdpbGwgYmUgcmVzb2x2ZWQgYnkgQklORElORyBBUkJJVFJBVElPTi4gQUNDT1JESU5HTFksIFlPVSBBR1JFRSBUTyBHSVZFIFVQIFlPVVIgUklHSFQgVE8gR08gVE8gQ09VUlQgKElOQ0xVRElORyBJTiBBIENMQVNTIEFDVElPTiBQUk9DRUVESU5HKSB0byBhc3NlcnQgb3IgZGVmZW5kIHlvdXIgcmlnaHRzIHVuZGVyIHRoZXNlIFRlcm1zLiBZb3VyIHJpZ2h0cyB3aWxsIGJlIGRldGVybWluZWQgYnkgYSBORVVUUkFMIEFSQklUUkFUT1IgYW5kIE5PVCBhIGp1ZGdlIG9yIGp1cnkgYW5kIHlvdXIgY2xhaW1zIGNhbm5vdCBiZSBicm91Z2h0IGFzIGEgY2xhc3MgYWN0aW9uLiBQbGVhc2UgcmV2aWV3IFNlY3Rpb24gMTIgYmVsb3cgZW50aXRsZWQgJmxkcXVvO0ludGVycHJldGF0aW9ucyBhbmQgRGlzcHV0ZXMmcmRxdW87IGZvciB0aGUgZGV0YWlscyByZWdhcmRpbmcgeW91ciBhZ3JlZW1lbnQgdG8gYXJiaXRyYXRlIGFueSBkaXNwdXRlcyB3aXRoIHVzLjwvc3Ryb25nPjwvcD4NCjxwPiZuYnNwOzwvcD4NCjxvbD4NCjxsaT48c3Ryb25nPkFjY291bnQgU2VjdXJpdHkuPC9zdHJvbmc+Jm5ic3A7VG8gdXNlIHRoZSBTZXJ2aWNlcyB5b3UgbXVzdCAoaSkgYmUgYXQgbGVhc3QgZWlnaHRlZW4gKDE4KSB5ZWFycyBvZiBhZ2U7IChpaSkgaGF2ZSBub3QgcHJldmlvdXNseSBiZWVuIHN1c3BlbmRlZCBvciByZW1vdmVkIGZyb20gdGhlIFNlcnZpY2VzOyBhbmQgKGlpaSkgcmVnaXN0ZXIgZm9yIGFuZCB1c2UgdGhlIFNlcnZpY2VzIGluIGNvbXBsaWFuY2Ugd2l0aCBhbnkgYW5kIGFsbCBhcHBsaWNhYmxlIGxhd3MgYW5kIHJlZ3VsYXRpb25zLjwvbGk+DQo8L29sPg0KPHA+Jm5ic3A7PC9wPg0KPG9sPg0KPGxpPjxzdHJvbmc+QWNjb3VudCBSZWdpc3RyYXRpb24uPC9zdHJvbmc+Jm5ic3A7VG8gYWNjZXNzIHNvbWUgZmVhdHVyZXMgb2YgdGhlIFNlcnZpY2VzLCB5b3UgbWF5IGJlIHJlcXVpcmVkIHRvIHJlZ2lzdGVyIGZvciBhbiBhY2NvdW50LiBXaGVuIHlvdSByZWdpc3RlciBmb3IgYW4gYWNjb3VudCwgd2UgbWF5IGFzayB5b3UgdG8gZ2l2ZSB1cyBjZXJ0YWluIGlkZW50aWZ5aW5nIGluZm9ybWF0aW9uIGFib3V0IHlvdXJzZWxmLCBpbmNsdWRpbmcgYnV0IG5vdCBsaW1pdGVkIHRvIHlvdXIgZW1haWwgYWRkcmVzcyBhbmQgb3RoZXIgY29udGFjdCBpbmZvcm1hdGlvbiwgYW5kIHRvIGNyZWF0ZSBhIHVzZXIgbmFtZSBhbmQgcGFzc3dvcmQgKCJSZWdpc3RyYXRpb24gSW5mb3JtYXRpb24iKS4gV2hlbiByZWdpc3RlcmluZyBmb3IgYW5kIG1haW50YWluaW5nIGFuIGFjY291bnQsIHlvdSBhZ3JlZSB0byBwcm92aWRlIHRydWUsIGFjY3VyYXRlLCBjdXJyZW50LCBhbmQgY29tcGxldGUgaW5mb3JtYXRpb24gYWJvdXQgeW91cnNlbGYuIFlvdSBhbHNvIGFncmVlIG5vdCB0byBpbXBlcnNvbmF0ZSBhbnlvbmUsIG1pc3JlcHJlc2VudCBhbnkgYWZmaWxpYXRpb24gd2l0aCBhbnlvbmUgZWxzZSwgdXNlIGZhbHNlIGluZm9ybWF0aW9uLCBvciBvdGhlcndpc2UgY29uY2VhbCB5b3VyIGlkZW50aXR5IGZyb20gVHJpYnV0ZSBUZWNobm9sb2d5IGZvciBhbnkgcHVycG9zZS4gWW91IGFyZSBzb2xlbHkgcmVzcG9uc2libGUgZm9yIG1haW50YWluaW5nIHRoZSBjb25maWRlbnRpYWxpdHkgYW5kIHNlY3VyaXR5IG9mIHlvdXIgcGFzc3dvcmQgYW5kIG90aGVyIFJlZ2lzdHJhdGlvbiBJbmZvcm1hdGlvbi4gRm9yIHlvdXIgcHJvdGVjdGlvbiBhbmQgdGhlIHByb3RlY3Rpb24gb2Ygb3RoZXIgdXNlcnMsIHdlIGFzayB5b3Ugbm90IHRvIHNoYXJlIHlvdXIgUmVnaXN0cmF0aW9uIEluZm9ybWF0aW9uIHdpdGggYW55b25lIGVsc2UuIElmIHlvdSBkbyBzaGFyZSB0aGlzIGluZm9ybWF0aW9uIHdpdGggYW55b25lLCB3ZSB3aWxsIGNvbnNpZGVyIHRoZWlyIGFjdGl2aXRpZXMgdG8gaGF2ZSBiZWVuIGF1dGhvcml6ZWQgYnkgeW91LiBJZiB5b3UgaGF2ZSByZWFzb24gdG8gYmVsaWV2ZSB0aGF0IHlvdXIgYWNjb3VudCBpcyBubyBsb25nZXIgc2VjdXJlLCB5b3UgbXVzdCBpbW1lZGlhdGVseSBub3RpZnkgdXMgYXQmbmJzcDt3ZWJzaXRlc0B0cmlidXRldGVjaC5jb20uPC9saT4NCjwvb2w+DQo8cD4mbmJzcDs8L3A+DQo8b2w+DQo8bGk+PHN0cm9uZz5Zb3VyIFVzZSBvZiB0aGUgU2VydmljZXMgYW5kIFByb2hpYml0ZWQgQ29uZHVjdC48L3N0cm9uZz4mbmJzcDtZb3UgYXJlIGdyYW50ZWQgYSBsaW1pdGVkLCBub24tZXhjbHVzaXZlLCByZXZvY2FibGUgcmlnaHQgdG8gYWNjZXNzIGFuZCB1c2UgdGhlIFNlcnZpY2VzIHNvbGVseSBmb3IgeW91ciBwZXJzb25hbCBvciBub24tY29tbWVyY2lhbCB1c2U7IHByb3ZpZGVkLCB0aGF0IGlmIHlvdSBhcmUgYSBDbGllbnQsIHlvdXIgY29tbWVyY2lhbCB1c2UgaW4gY29ubmVjdGlvbiB3aXRoIHlvdXIgU2l0ZSBpcyBwZXJtaXR0ZWQgZm9yIHlvdXIgYnVzaW5lc3MuJm5ic3A7IEV4Y2VwdCBmb3IgdGhlIGxpbWl0ZWQgcmlnaHQgZXhwcmVzc2x5IGdyYW50ZWQgdG8geW91IGluIHRoZXNlIFRlcm1zLCBUcmlidXRlIFRlY2hub2xvZ3kgYW5kIGl0cyBsaWNlbnNvcnMgZXhwcmVzc2x5IHJlc2VydmUgYWxsIG90aGVyIHJpZ2h0cyBhbmQgbGljZW5zZXMgdG8gdGhlIFNlcnZpY2VzIGFuZCB0aGVpciBjb250ZW50LiBZb3UgYWdyZWUgbm90IHRvOjwvbGk+DQo8L29sPg0KPHA+Jm5ic3A7PC9wPg0KPG9sPg0KPG9sPg0KPGxpPlVzZSB0aGUgU2VydmljZXMgZm9yIGFueSBpbGxlZ2FsIHB1cnBvc2UsIG9yIGluIHZpb2xhdGlvbiBvZiBhbnkgbG9jYWwsIHN0YXRlLCBuYXRpb25hbCwgb3IgaW50ZXJuYXRpb25hbCBsYXc7PC9saT4NCjwvb2w+DQo8L29sPg0KPHA+Jm5ic3A7PC9wPg0KPG9sPg0KPG9sPg0KPGxpPlZpb2xhdGUgb3IgZW5jb3VyYWdlIG90aGVycyB0byB2aW9sYXRlIHRoZSByaWdodHMgb2YgdGhpcmQgcGFydGllcywgaW5jbHVkaW5nIGludGVsbGVjdHVhbCBwcm9wZXJ0eSByaWdodHM7PC9saT4NCjwvb2w+DQo8L29sPg0KPHA+Jm5ic3A7PC9wPg0KPG9sPg0KPG9sPg0KPGxpPlBvc3QsIHVwbG9hZCwgb3IgZGlzdHJpYnV0ZSBhbnkgY29udGVudCB0aGF0IGlzIHVubGF3ZnVsLCBkZWZhbWF0b3J5LCBsaWJlbG91cywgaW5hY2N1cmF0ZSwgb3IgdGhhdCBhIHJlYXNvbmFibGUgcGVyc29uIGNvdWxkIGRlZW0gdG8gYmUgb2JqZWN0aW9uYWJsZSwgcHJvZmFuZSwgaW5kZWNlbnQsIHBvcm5vZ3JhcGhpYywgaGFyYXNzaW5nLCB0aHJlYXRlbmluZywgaGF0ZWZ1bCwgb3Igb3RoZXJ3aXNlIGluYXBwcm9wcmlhdGUsIG9yIHRoYXQgdmlvbGF0ZXMgb3IgaW5mcmluZ2VzIHRoZSBwcml2YWN5LCBjb3B5cmlnaHQsIHRyYWRlbWFyaywgdHJhZGUgZHJlc3MsIHRyYWRlIHNlY3JldHMgb3IgaW50ZWxsZWN0dWFsIHByb3BlcnR5IHJpZ2h0cyBvZiBhbnkgcGVyc29uIG9yIGVudGl0eTs8L2xpPg0KPC9vbD4NCjwvb2w+DQo8cD4mbmJzcDs8L3A+DQo8b2w+DQo8b2w+DQo8bGk+SW50ZXJmZXJlIGluIGFueSB3YXkgd2l0aCwgYnlwYXNzIG9yIGF0dGVtcHQgdG8gYnlwYXNzIGFueSBzZWN1cml0eS1yZWxhdGVkIGZlYXR1cmVzIG9mIHRoZSBTZXJ2aWNlczs8L2xpPg0KPC9vbD4NCjwvb2w+DQo8cD4mbmJzcDs8L3A+DQo8b2w+DQo8b2w+DQo8bGk+SW50ZXJmZXJlIHdpdGggdGhlIG9wZXJhdGlvbiBvciBhbnkgdXNlcidzIGVuam95bWVudCBvZiB0aGUgU2VydmljZXMsIGluY2x1ZGluZyBieSB1cGxvYWRpbmcgb3Igb3RoZXJ3aXNlIGRpc3NlbWluYXRpbmcgdmlydXNlcywgYWR3YXJlLCBzcHl3YXJlLCB3b3Jtcywgb3Igb3RoZXIgbWFsaWNpb3VzIGNvZGUsIG1ha2luZyB1bnNvbGljaXRlZCBvZmZlcnMgb3IgYWR2ZXJ0aXNlbWVudHMgdG8gb3RoZXIgdXNlcnMsIG9yIGF0dGVtcHRpbmcgdG8gY29sbGVjdCBwZXJzb25hbCBpbmZvcm1hdGlvbiBhYm91dCB1c2VycyBvciB0aGlyZCBwYXJ0aWVzIHdpdGhvdXQgdGhlaXIgY29uc2VudDs8L2xpPg0KPC9vbD4NCjwvb2w+DQo8cD4mbmJzcDs8L3A+DQo8b2w+DQo8b2w+DQo8bGk+RGVlcC1saW5rIHRvIGFueSBmZWF0dXJlIG9yIGNvbnRlbnQgb24gdGhlIFNlcnZpY2VzLCBvciBhY2Nlc3MsIG1vbml0b3Igb3IgY29weSBhbnkgY29udGVudCBvciBpbmZvcm1hdGlvbiBvZiB0aGUgU2VydmljZXMgdXNpbmcgYW55IHJvYm90LCBzcGlkZXIsIHNjcmFwZXIsIGNyYXdsZXIgb3Igb3RoZXIgYXV0b21hdGVkIG1lYW5zIG9yIGFueSBtYW51YWwgcHJvY2VzcyBmb3IgYW55IHB1cnBvc2Ugd2l0aG91dCBUcmlidXRlIFRlY2hub2xvZ3kmcnNxdW87cyBleHByZXNzIHdyaXR0ZW4gcGVybWlzc2lvbjs8L2xpPg0KPC9vbD4NCjwvb2w+DQo8cD4mbmJzcDs8L3A+DQo8b2w+DQo8b2w+DQo8bGk+VXNlLCByZXByb2R1Y2UsIG1vZGlmeSwgZGlzdHJpYnV0ZSBvciBzdG9yZSBhbnkgcGFydCBvZiB0aGUgU2VydmljZXMgKGluY2x1ZGluZyBvYml0dWFyaWVzLCBldmVudCBpbmZvcm1hdGlvbiwgb3Igb3RoZXIgY29udGVudCkgZm9yIGFueSBwdXJwb3NlIHdpdGhvdXQgdGhlIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbiBvZiBUcmlidXRlIFRlY2hub2xvZ3k7PC9saT4NCjwvb2w+DQo8L29sPg0KPHA+Jm5ic3A7PC9wPg0KPG9sPg0KPG9sPg0KPGxpPlBlcmZvcm0gYW55IGZyYXVkdWxlbnQgYWN0aXZpdHksIGluY2x1ZGluZyBpbXBlcnNvbmF0aW5nIGFueSBwZXJzb24gb3IgZW50aXR5LCBjbGFpbWluZyBmYWxzZSBhZmZpbGlhdGlvbnMsIGFjY2Vzc2luZyB0aGUgYWNjb3VudHMgb2Ygb3RoZXIgdXNlcnMgd2l0aG91dCBwZXJtaXNzaW9uLCBvciBmYWxzaWZ5aW5nIHlvdXIgaWRlbnRpdHkgb3IgYW55IGluZm9ybWF0aW9uIGFib3V0IHlvdSwgaW5jbHVkaW5nIGFnZSBvciBkYXRlIG9mIGJpcnRoOzwvbGk+DQo8L29sPg0KPC9vbD4NCjxwPiZuYnNwOzwvcD4NCjxvbD4NCjxvbD4NCjxsaT5Qb3N0LCBkaXNzZW1pbmF0ZSwgc3VibWl0LCB0cmFuc21pdCwgaG9zdCwgc2hhcmUsIGFuZC9vciBwdWJsaXNoIGFkdmVydGlzZW1lbnRzIG9yIHNvbGljaXRhdGlvbnMgb2YgYnVzaW5lc3M7IG9yPC9saT4NCjwvb2w+DQo8L29sPg0KPHA+Jm5ic3A7PC9wPg0KPG9sPg0KPG9sPg0KPGxpPlNlbGwgb3Igb3RoZXJ3aXNlIHRyYW5zZmVyIHRoZSBhY2Nlc3MgZ3JhbnRlZCBoZXJlaW4uPC9saT4NCjwvb2w+DQo8L29sPg0KPHA+Jm5ic3A7PC9wPg0KPG9sPg0KPGxpPjxzdHJvbmc+VGhpcmQgUGFydHkgQ29udGVudC48L3N0cm9uZz4mbmJzcDtUaGUgU2VydmljZXMgbWF5IGNvbnRhaW4gbGlua3MgdG8gdGhpcmQgcGFydHkgd2Vic2l0ZXMgYW5kIHNlcnZpY2VzLiBUcmlidXRlIFRlY2hub2xvZ3kgcHJvdmlkZXMgc3VjaCBsaW5rcyBhcyBhIGNvbnZlbmllbmNlLCBhbmQgZG9lcyBub3QgY29udHJvbCBvciBlbmRvcnNlIHRoZXNlIHdlYnNpdGVzIGFuZCBzZXJ2aWNlcy4gWW91IGFja25vd2xlZGdlIGFuZCBhZ3JlZSB0aGF0IFRyaWJ1dGUgVGVjaG5vbG9neSBoYXMgbm90IHJldmlld2VkIHRoZSBjb250ZW50LCBhZHZlcnRpc2luZywgcHJvZHVjdHMsIHNlcnZpY2VzLCBvciBvdGhlciBtYXRlcmlhbHMgdGhhdCBhcHBlYXIgb24gc3VjaCB0aGlyZCBwYXJ0eSB3ZWJzaXRlcyBvciBzZXJ2aWNlcywgYW5kIGlzIG5vdCByZXNwb25zaWJsZSBmb3IgdGhlIGxlZ2FsaXR5LCBhY2N1cmFjeSwgb3IgYXBwcm9wcmlhdGVuZXNzIG9mIGFueSBzdWNoIGNvbnRlbnQsIGFuZCBzaGFsbCBub3QgYmUgcmVzcG9uc2libGUgb3IgbGlhYmxlLCBkaXJlY3RseSBvciBpbmRpcmVjdGx5LCBmb3IgYW55IGRhbWFnZSBvciBsb3NzIGNhdXNlZCBvciBhbGxlZ2VkIHRvIGJlIGNhdXNlZCBieSBvciBpbiBjb25uZWN0aW9uIHdpdGggdGhlIHVzZSBvZiBhbnkgc3VjaCB0aGlyZCBwYXJ0eSB3ZWJzaXRlcyBvciBzZXJ2aWNlcy48L2xpPg0KPC9vbD4NCjxwPiZuYnNwOzwvcD4NCjxvbD4NCjxsaT48c3Ryb25nPkludGVsbGVjdHVhbCBQcm9wZXJ0eS48L3N0cm9uZz4mbmJzcDtZb3UgYWNrbm93bGVkZ2UgYW5kIGFncmVlIHRoYXQgd2hlbiB5b3Ugc3VibWl0IGFuIG9iaXR1YXJ5LCBwb3N0IGNvbW1lbnRzLCBzdWJtaXQgYSB0cmlidXRlIHZpZGVvIG9yIGltYWdlLCBvciBwb3N0IG9yIHN1Ym1pdCBvdGhlciBjb250ZW50ICh0b2dldGhlciwgIkNvbnRlbnQiKSB0byBUcmlidXRlIFRlY2hub2xvZ3kgb3IgdmlhIHRoZSBTZXJ2aWNlcywgaW5jbHVkaW5nIHRvIGFueSB3ZWJzaXRlIG9mIGFueSBmdW5lcmFsIGhvbWUgb3Igb3RoZXIgZnVuZXJhbCBwcm9mZXNzaW9uYWxzIHByb3ZpZGVkIGJ5IFRyaWJ1dGUgVGVjaG5vbG9neSwgc3VjaCBDb250ZW50IHdpbGwgYmUgc2hhcmVkIHdpdGggYW5kIHN0b3JlZCBieSBUcmlidXRlIFRlY2hub2xvZ3kgYW5kIGl0cyBhZmZpbGlhdGVzIGFuZCBwYXJ0bmVycywgaW5jbHVkaW5nIGJ1dCBub3QgbGltaXRlZCB0byBUcmlidXRlIEFyY2hpdmUgKHRyaWJ1dGVhcmNoaXZlLmNvbSksIGFuZCBtYXkgYWxzbyBiZSB1c2VkIGluIGNvbm5lY3Rpb24gd2l0aCBvdGhlciBwcm9kdWN0cyBhbmQgc2VydmljZXMgcHJvdmlkZWQgYnkgVHJpYnV0ZSBUZWNobm9sb2d5IGFuZCBpdHMgYWZmaWxpYXRlcyBhbmQgcGFydG5lcnMgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSBTaXRlcywgaW5jbHVkaW5nIHByb2R1Y3RzIHN1Y2ggYXMgVHJpYnV0ZSBCb29rLiBXaXRoIHJlc3BlY3QgdG8gYW55IGltYWdlcyBvciB2aWRlb3MgdGhhdCB5b3UgcG9zdCBvciBwcm92aWRlIGluIGNvbm5lY3Rpb24gd2l0aCB0aGUgU2VydmljZXMsIHlvdSByZXByZXNlbnQgYW5kIHdhcnJhbnQgdGhhdCB5b3UgaGF2ZSBzZWN1cmVkIHRoZSBwZXJtaXNzaW9uIG9mIGFueSBsaXZpbmcgcGVyc29ucyBkZXBpY3RlZCB0aGVyZWluIHRvIChpKSBwb3N0IHRoZW0sIGFuZCAoaWkpIHRoZSB1c2Ugb2Ygc3VjaCBDb250ZW50IGFzIHNldCBvdXQgaW4gdGhlc2UgVGVybXMuIFlvdSBoZXJlYnkgZ3JhbnQgdG8gVHJpYnV0ZSBUZWNobm9sb2d5IGFuZCBpdHMgYWdlbnRzLCBhdHRvcm5leXMsIHJlcHJlc2VudGF0aXZlcywgcHJlZGVjZXNzb3JzLCBzdWNjZXNzb3JzLCBhZmZpbGlhdGVzLCBwYXJlbnRzLCBzdWJzaWRpYXJpZXMsIG5vbWluZWVzLCBsaWNlbnNlZXMsIGV4ZWN1dG9ycywgYWRtaW5pc3RyYXRvcnMsIGFzc2lnbnMsIGZ1bmVyYWwgaG9tZXMgb3Igb3RoZXIgZnVuZXJhbCBwcm9mZXNzaW9uYWxzIHRoYXQgYXJlIG91ciBDbGllbnRzLCBhbmQgdGhvc2UgYWN0aW5nIHdpdGggYXV0aG9yaXR5IG9mIHRoZSBmb3JlZ29pbmcgKGNvbGxlY3RpdmVseSwgJmxkcXVvO1RyaWJ1dGUgVGVjaG5vbG9neSBQYXJ0aWVzJnJkcXVvOyksIGEgd29ybGR3aWRlLCBub24tZXhjbHVzaXZlLCBwZXJwZXR1YWwsIGlycmV2b2NhYmxlLCByb3lhbHR5IGZyZWUsIHRyYW5zZmVyYWJsZSwgYW5kIHN1YmxpY2Vuc2FibGUgcmlnaHQgYW5kIGxpY2Vuc2UgdG8gdXNlLCBzaGFyZSwgcmVwcm9kdWNlLCBkaXN0cmlidXRlLCBzZWxsLCBwcmVwYXJlIGRlcml2YXRpdmUgd29ya3Mgb2YsIGV4Y2VycHQsIHB1YmxpY2x5IGRpc3BsYXksIHB1YmxpY2x5IHBlcmZvcm0sIGhvc3QsIGNhY2hlLCByb3V0ZSwgdHJhbnNtaXQsIHN0b3JlLCByZWZvcm1hdCwgZXhjZXJwdCwgZWRpdCwgYXJjaGl2ZSwgaW5kZXgsIGNyZWF0ZSBhbGdvcml0aG1zIGJhc2VkIG9uLCBtb2RpZnksIGFuZC9vciB0cmFuc2NvZGUgc3VjaCBDb250ZW50IGluIGFueSBhbmQgYWxsIGZvcm1hdHMgYW5kIHRocm91Z2ggYW55IGFuZCBhbGwgbWVhbnMgYW5kIGNoYW5uZWxzLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRocm91Z2ggZG93bmxvYWRpbmcgdGVjaG5vbG9naWVzLCBvbiB0aGUgaW50ZXJuZXQsIGFuZCBpbiBwdWJsaWNhdGlvbnMgYW5kIGFkdmVydGlzZW1lbnRzLiZuYnNwOyBZb3UgYWxzbyBoZXJlYnkgaXJyZXZvY2FibHkgd2FpdmUsIGFzIGFnYWluc3QgdGhlIFRyaWJ1dGUgVGVjaG5vbG9neSBQYXJ0aWVzLCBhbGwgbW9yYWwgcmlnaHRzIGFuZCByaWdodHMgb2YgcmVzdHJhaW50IGluIHN1Y2ggQ29udGVudC4mbmJzcDsgVGhlIGxpY2Vuc2UsIGNvbnNlbnQsIGFuZCByZWxlYXNlIGhlcmVpbiBhcmUgYmluZGluZyB1cG9uIHlvdSBhbmQgeW91ciBoZWlycywgZXhlY3V0b3JzLCBhZG1pbmlzdHJhdG9ycywgc3VjY2Vzc29ycywgbGljZW5zZWVzLCBhbmQgYXNzaWducy48L2xpPg0KPC9vbD4NCjxwPiZuYnNwOzwvcD4NCjxwPkV4Y2VwdCBmb3IgQ29udGVudCwgYWxsIHRleHQsIGdyYXBoaWNzLCBwaG90b2dyYXBocywgdmlkZW9zLCB1c2VyIGludGVyZmFjZXMsIHRyYWRlbWFya3MsIGxvZ29zLCB0YWdsaW5lcywgYW5pbWF0aW9ucywgc291bmRzLCBtdXNpYyBhbmQgb3RoZXIgbWF0ZXJpYWxzIGNvbnRhaW5lZCBvbiBvciBjb21wcmlzaW5nIHRoZSBTZXJ2aWNlcywgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgZGVzaWduLCBzdHJ1Y3R1cmUsIHNlbGVjdGlvbiwgb3JnYW5pemF0aW9uLCBjb21waWxhdGlvbiwgZGlzcGxheSwgYXJyYW5nZW1lbnQsIGV4cHJlc3Npb24sIGFuZCAmbGRxdW87bG9vayBhbmQgZmVlbCZyZHF1bzsgb2YgdGhlIFNpdGVzIGFuZCBTZXJ2aWNlcywgYW5kIHRoZSBzb2Z0d2FyZSBjb21wcmlzaW5nIGFuZC9vciBlbWJvZHlpbmcgdGhlIGZvcmVnb2luZyAoY29sbGVjdGl2ZWx5LCB0aGUgJmxkcXVvO1RyaWJ1dGUgVGVjaG5vbG9neSBNYXRlcmlhbHMmcmRxdW87KSwgYXJlIG93bmVkLCBjb250cm9sbGVkLCBvciBsaWNlbnNlZCBieSBvciB0byBUcmlidXRlIFRlY2hub2xvZ3ksIGFuZCBhcmUgcHJvdGVjdGVkIHVuZGVyIGFwcGxpY2FibGUgaW50ZWxsZWN0dWFsIHByb3BlcnR5IGxhd3MsIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gY29weXJpZ2h0LCB0cmFkZSBkcmVzcywgdHJhZGVtYXJrLCBhbmQvb3IgcGF0ZW50IGxhd3MuJm5ic3A7IFlvdXIgdXNlIG9mIHRoZSBTZXJ2aWNlcyBnaXZlcyB5b3Ugbm8gb3duZXJzaGlwIHJpZ2h0cyBpbiB0aGUgVHJpYnV0ZSBUZWNobm9sb2d5IE1hdGVyaWFscy48L3A+DQo8cD4mbmJzcDs8L3A+DQo8cD5UcmlidXRlIFRlY2hub2xvZ3ksIG9yIHRoaXJkIHBhcnRpZXMgZnJvbSB3aG9tIFRyaWJ1dGUgVGVjaG5vbG9neSBoYXMgcGVybWlzc2lvbiwgb3duIHRoZSB0cmFkZW1hcmtzIGFuZCBzZXJ2aWNlIG1hcmtzIHRoYXQgYXJlIHVzZWQgaW4gdGhlIFNlcnZpY2VzLiZuYnNwOyBBbGwgcmlnaHRzIGFyZSByZXNlcnZlZCBieSBUcmlidXRlIFRlY2hub2xvZ3kgYW5kIHNhaWQgdGhpcmQgcGFydGllcywgYW5kIG5vIGltcGxpZWQgcmlnaHRzIGFyZSBncmFudGVkIHRvIHlvdSBvciBhbnkgdGhpcmQgcGFydGllcy4mbmJzcDsgVGhlc2UgYW5kIG90aGVyIGdyYXBoaWNzLCBsb2dvcywgc2VydmljZSBtYXJrcywgdHJhZGVtYXJrcywgYW5kIHRyYWRlIGRyZXNzIG9mIFRyaWJ1dGUgVGVjaG5vbG9neSBhbmQgaXRzIGxpY2Vuc29ycyBtYXkgbm90IGJlIHVzZWQgd2l0aG91dCBwcmlvciB3cml0dGVuIGNvbnNlbnQgb2YgVHJpYnV0ZSBUZWNobm9sb2d5IG9yIGl0cyBsaWNlbnNvciwgYXMgdGhlIGNhc2UgbWF5IGJlLiZuYnNwOyBXaXRob3V0IGxpbWl0aW5nIHRoZSBmb3JlZ29pbmcsIG5vIFRyaWJ1dGUgVGVjaG5vbG9neSB0cmFkZW1hcmsgb3IgdHJhZGUgZHJlc3MgbWF5IGJlIHVzZWQgaW4gY29ubmVjdGlvbiB3aXRoIGFueSBwcm9kdWN0IG9yIHNlcnZpY2UgdGhhdCBpcyBub3QgVHJpYnV0ZSBUZWNobm9sb2d5J3MgaW4gYW55IG1hbm5lciB0aGF0IGlzIGxpa2VseSB0byBjYXVzZSBjb25mdXNpb24gYW1vbmcgdXNlcnMsIG9yIGluIGFueSBtYW5uZXIgdGhhdCBkaXNwYXJhZ2VzIG9yIGRpc2NyZWRpdHMgVHJpYnV0ZSBUZWNobm9sb2d5LiZuYnNwOzwvcD4NCjxwPiZuYnNwOzwvcD4NCjxwPllvdSBncmFudCBUcmlidXRlIFRlY2hub2xvZ3kgYSBwZXJwZXR1YWwsIHJveWFsdHkgZnJlZSwgaXJyZXZvY2FibGUsIHN1Yi1saWNlbnNhYmxlLCBhc3NpZ25hYmxlLCBhbmQgdHJhbnNmZXJhYmxlIGxpY2Vuc2UgdG8gYW55IGZlZWRiYWNrLCBzdWJtaXNzaW9ucywgaWRlYXMsIGNvbmNlcHRzLCBrbm93IGhvdywgb3IgdGVjaG5pcXVlcyB0aGF0IHlvdSBzdWJtaXQgYWJvdXQgdGhlIFNlcnZpY2VzIG9yIFRyaWJ1dGUgVGVjaG5vbG9neSBNYXRlcmlhbHMgZm9yIGFueSBwdXJwb3NlIChpbmNsdWRpbmcsIHdpdGhvdXQgbGltaXRhdGlvbiwgY29tbWVyY2lhbGl6YXRpb24pIGFuZCB3aXRob3V0IGNvbXBlbnNhdGlvbiB0byB5b3UuPC9wPg0KPHA+Jm5ic3A7PC9wPg0KPG9sPg0KPGxpPjxzdHJvbmc+VXNlciBDb250ZW50Ljwvc3Ryb25nPiZuYnNwO1lvdSByZXByZXNlbnQgYW5kIHdhcnJhbnQgdGhhdCB5b3Ugb3duIG9yIG90aGVyd2lzZSBoYXZlIHRoZSByaWdodHMsIGxpY2Vuc2VzLCBjb25zZW50cyBhbmQgcGVybWlzc2lvbnMgbmVjZXNzYXJ5IHRvIHByb3ZpZGUgVHJpYnV0ZSBUZWNobm9sb2d5IHRoZSBDb250ZW50IHlvdSBwcm92aWRlIGluIGNvbm5lY3Rpb24gd2l0aCB0aGUgU2VydmljZXMuIElmIHlvdSBiZWxpZXZlIHRoYXQgeW91ciBDb250ZW50IG9yIGFueSBvdGhlciBtYXRlcmlhbCBwb3N0ZWQgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSBTZXJ2aWNlcyBoYXMgYmVlbiB1c2VkIGluIGEgd2F5IHRoYXQgY29uc3RpdHV0ZXMgY29weXJpZ2h0IGluZnJpbmdlbWVudCwgcGxlYXNlIG5vdGlmeSB1cyBmb2xsb3dpbmcgdGhlIHByb2NlZHVyZXMgc2V0IGZvcnRoIGluIHRoaXMgU2VjdGlvbi48L2xpPg0KPC9vbD4NCjxwPjxzdHJvbmc+Jm5ic3A7PC9zdHJvbmc+PC9wPg0KPHA+V2UgcmVzcGVjdCB0aGUgaW50ZWxsZWN0dWFsIHByb3BlcnR5IHJpZ2h0cyBvZiBvdGhlcnMgYW5kIGV4cGVjdCBvdXIgdXNlcnMgdG8gZG8gdGhlIHNhbWUuIEluIGFjY29yZGFuY2Ugd2l0aCB0aGUgRGlnaXRhbCBNaWxsZW5uaXVtIENvcHlyaWdodCBBY3QsIHdlIHdpbGwgcmVzcG9uZCBwcm9tcHRseSB0byBub3RpY2VzIG9mIGFsbGVnZWQgaW5mcmluZ2VtZW50IHRoYXQgYXJlIHJlcG9ydGVkIHRvIG91ciBkZXNpZ25hdGVkIENvcHlyaWdodCBBZ2VudCwgaWRlbnRpZmllZCBiZWxvdy48L3A+DQo8cD4mbmJzcDs8L3A+DQo8cD48dT5Ob3RpY2VzIG9mIEFsbGVnZWQgSW5mcmluZ2VtZW50PC91Pjo8L3A+DQo8cD4mbmJzcDs8L3A+DQo8cD5JZiB5b3UgYXJlIGEgY29weXJpZ2h0IG93bmVyLCBhdXRob3JpemVkIHRvIGFjdCBvbiBiZWhhbGYgb2Ygb25lLCBvciBhdXRob3JpemVkIHRvIGFjdCB1bmRlciBhbnkgZXhjbHVzaXZlIHJpZ2h0IHVuZGVyIGNvcHlyaWdodCwgcGxlYXNlIHJlcG9ydCBhbGxlZ2VkIGNvcHlyaWdodCBpbmZyaW5nZW1lbnRzIHRha2luZyBwbGFjZSBvbiBvciB0aHJvdWdoIG91ciBTZXJ2aWNlcyBieSBzZW5kaW5nIHVzIGEgbm90aWNlICgmbGRxdW87Tm90aWNlJnJkcXVvOykgY29tcGx5aW5nIHdpdGggdGhlIGZvbGxvd2luZyByZXF1aXJlbWVudHMuPC9wPg0KPHA+Jm5ic3A7PC9wPg0KPG9sPg0KPGxpPklkZW50aWZ5IHRoZSBjb3B5cmlnaHRlZCB3b3JrcyB0aGF0IHlvdSBjbGFpbSBoYXZlIGJlZW4gaW5mcmluZ2VkLjwvbGk+DQo8L29sPg0KPHA+Jm5ic3A7PC9wPg0KPG9sPg0KPGxpPklkZW50aWZ5IHRoZSBtYXRlcmlhbCBvciBsaW5rIHlvdSBjbGFpbSBpcyBpbmZyaW5naW5nIChvciB0aGUgc3ViamVjdCBvZiBpbmZyaW5naW5nIGFjdGl2aXR5KSBhbmQgdGhhdCBhY2Nlc3MgdG8gd2hpY2ggaXMgdG8gYmUgZGlzYWJsZWQsIGluY2x1ZGluZyBhdCBhIG1pbmltdW0sIGlmIGFwcGxpY2FibGUsIHRoZSBVUkwgb2YgdGhlIGxpbmsgc2hvd24gb24gdGhlIFNpdGUgd2hlcmUgc3VjaCBtYXRlcmlhbCBtYXkgYmUgZm91bmQuPC9saT4NCjwvb2w+DQo8cD4mbmJzcDs8L3A+DQo8b2w+DQo8bGk+UHJvdmlkZSB5b3VyIG1haWxpbmcgYWRkcmVzcywgdGVsZXBob25lIG51bWJlciwgYW5kLCBpZiBhdmFpbGFibGUsIGVtYWlsIGFkZHJlc3MuPC9saT4NCjwvb2w+DQo8cD4mbmJzcDs8L3A+DQo8b2w+DQo8bGk+SW5jbHVkZSBib3RoIG9mIHRoZSBmb2xsb3dpbmcgc3RhdGVtZW50cyBpbiB0aGUgYm9keSBvZiB0aGUgTm90aWNlOjwvbGk+DQo8L29sPg0KPHA+Jm5ic3A7PC9wPg0KPHA+IkkgaGVyZWJ5IHN0YXRlIHRoYXQgSSBoYXZlIGEgZ29vZCBmYWl0aCBiZWxpZWYgdGhhdCB0aGUgZGlzcHV0ZWQgdXNlIG9mIHRoZSBjb3B5cmlnaHRlZCBtYXRlcmlhbCBpcyBub3QgYXV0aG9yaXplZCBieSB0aGUgY29weXJpZ2h0IG93bmVyLCBpdHMgYWdlbnQsIG9yIHRoZSBsYXcgKGUuZy4sIGFzIGEgZmFpciB1c2UpLiI8L3A+DQo8cD4mbmJzcDs8L3A+DQo8cD4iSSBoZXJlYnkgc3RhdGUgdGhhdCB0aGUgaW5mb3JtYXRpb24gaW4gdGhpcyBOb3RpY2UgaXMgYWNjdXJhdGUgYW5kLCB1bmRlciBwZW5hbHR5IG9mIHBlcmp1cnksIHRoYXQgSSBhbSB0aGUgb3duZXIsIG9yIGF1dGhvcml6ZWQgdG8gYWN0IG9uIGJlaGFsZiBvZiB0aGUgb3duZXIsIG9mIHRoZSBjb3B5cmlnaHQgb3Igb2YgYW4gZXhjbHVzaXZlIHJpZ2h0IHVuZGVyIHRoZSBjb3B5cmlnaHQgdGhhdCBpcyBhbGxlZ2VkbHkgaW5mcmluZ2VkLiI8L3A+DQo8cD4mbmJzcDs8L3A+DQo8b2w+DQo8bGk+UHJvdmlkZSB5b3VyIGZ1bGwgbGVnYWwgbmFtZSBhbmQgeW91ciBlbGVjdHJvbmljIG9yIHBoeXNpY2FsIHNpZ25hdHVyZS48L2xpPg0KPC9vbD4NCjxwPiZuYnNwOzwvcD4NCjxwPlBsZWFzZSBkZWxpdmVyIHRoaXMgTm90aWNlLCB3aXRoIGFsbCBpdGVtcyBjb21wbGV0ZWQsIHRvIG91ciBkZXNpZ25hdGVkIENvcHlyaWdodCBBZ2VudCBhdCB0aGUgZm9sbG93aW5nIGFkZHJlc3M6PC9wPg0KPHA+Jm5ic3A7PC9wPg0KPHA+Q29weXJpZ2h0IEFnZW50PC9wPg0KPHA+Yy9vIFRyaWJ1dGUgVGVjaG5vbG9neTwvcD4NCjxwPjI1MDEgUGFybWVudGVyIFN0cmVldCwgU3VpdGUgMzAwQzwvcD4NCjxwPk1pZGRsZXRvbiwgV0kgNTM1NjI8L3A+DQo8cD5QaG9uZTogODY2LTMwMy0xODgwPC9wPg0KPHA+RW1haWw6IGNvcHlyaWdodEB0cmlidXRldGVjaC5jb208L3A+DQo8cD4mbmJzcDs8L3A+DQo8cD5UcmlidXRlIFRlY2hub2xvZ3kgaGFzIGFkb3B0ZWQgYW5kIGltcGxlbWVudHMgYSBwb2xpY3kgdGhhdCBwcm92aWRlcyBmb3IgdGVybWluYXRpb24gaW4gYXBwcm9wcmlhdGUgY2lyY3Vtc3RhbmNlcyBvZiBhY2NvdW50cyBvZiB1c2VycyB3aG8gcmVwZWF0ZWRseSBpbmZyaW5nZSBjb3B5cmlnaHQgb3Igb3RoZXIgaW50ZWxsZWN0dWFsIHByb3BlcnR5IHJpZ2h0cyBvZiBUcmlidXRlIFRlY2hub2xvZ3kgb3Igb3RoZXJzLiZuYnNwOzwvcD4NCjxwPiZuYnNwOzwvcD4NCjxvbD4NCjxsaT48c3Ryb25nPkluZGVtbmlmaWNhdGlvbi48L3N0cm9uZz4mbmJzcDtZb3UgYWdyZWUgdGhhdCB5b3Ugd2lsbCBiZSBwZXJzb25hbGx5IHJlc3BvbnNpYmxlIGZvciB5b3VyIHVzZSBvZiB0aGUgU2VydmljZXMsIGFuZCB5b3UgYWdyZWUgdG8gZGVmZW5kLCBpbmRlbW5pZnksIGFuZCBob2xkIGhhcm1sZXNzIFRyaWJ1dGUgVGVjaG5vbG9neSwgaXRzIGFmZmlsaWF0ZXMsIGFuZCBlYWNoIG9mIHRoZWlyIHJlc3BlY3RpdmUgZGlyZWN0b3JzLCBvZmZpY2VycywgZW1wbG95ZWVzIGFuZCBhZ2VudHMgZnJvbSBhbmQgYWdhaW5zdCBhbnkgYW5kIGFsbCBjbGFpbXMsIGxpYWJpbGl0aWVzLCBkYW1hZ2VzLCBsb3NzZXMsIGFuZCBleHBlbnNlcyAoaW5jbHVkaW5nIGF0dG9ybmV5cycgYW5kIGFjY291bnRpbmcgZmVlcyBhbmQgY29zdHMpLCBhcmlzaW5nIG91dCBvZiBvciBpbiBhbnkgd2F5IGNvbm5lY3RlZCB3aXRoIChpKSB5b3VyIGFjY2VzcyB0bywgdXNlIG9mLCBvciBhbGxlZ2VkIHVzZSBvZiB0aGUgU2VydmljZXMsIGluY2x1ZGluZywgd2l0aG91dCBsaW1pdGF0aW9uLCBpbnZvbHZpbmcgYW55IENvbnRlbnQgeW91IHBvc3Qgb3Igc3VibWl0IHRvIHVzIG9yIGluIGNvbm5lY3Rpb24gd2l0aCB0aGUgU2VydmljZXM7IChpaSkgeW91ciB2aW9sYXRpb24gb2YgdGhlIFRlcm1zIG9yIGFueSBhcHBsaWNhYmxlIGxhdyBvciByZWd1bGF0aW9uOyAoaWlpKSB5b3VyIHZpb2xhdGlvbiBvZiBhbnkgdGhpcmQgcGFydHkgcmlnaHQsIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gYW55IGludGVsbGVjdHVhbCBwcm9wZXJ0eSByaWdodCwgcHVibGljaXR5LCBjb25maWRlbnRpYWxpdHksIHByb3BlcnR5LCBvciBwcml2YWN5IHJpZ2h0OyAoaXYpIGFueSBkaXNwdXRlcyBvciBpc3N1ZXMgYmV0d2VlbiB5b3UgYW5kIGFueSB0aGlyZCBwYXJ0eTsgb3IgKHYpIGFjY2VzcyB0bywgdXNlIG9mLCBvciBhbGxlZ2VkIHVzZSBvZiB0aGUgU2VydmljZXMgYnkgYW55b25lIGFjY2Vzc2luZyB0aGUgU2VydmljZXMgdXNpbmcgeW91ciB1c2VyIG5hbWUgYW5kIHBhc3N3b3JkLiBUcmlidXRlIFRlY2hub2xvZ3kgcmVzZXJ2ZXMgdGhlIHJpZ2h0LCBhdCBvdXIgb3duIGV4cGVuc2UsIHRvIGFzc3VtZSB0aGUgZXhjbHVzaXZlIGRlZmVuc2UgYW5kIGNvbnRyb2wgb2YgYW55IG1hdHRlciBvdGhlcndpc2Ugc3ViamVjdCB0byBpbmRlbW5pZmljYXRpb24gYnkgeW91LCBhbmQgaW4gc3VjaCBjYXNlLCB5b3UgYWdyZWUgdG8gY29vcGVyYXRlIHdpdGggb3VyIGRlZmVuc2Ugb2Ygc3VjaCBjbGFpbS4gRm9yIHRoZSBhdm9pZGFuY2Ugb2YgZG91YnQgYW5kIHdpdGhvdXQgbGltaXRpbmcgdGhlIGZvcmVnb2luZywgeW91IGFncmVlIHRvIGluZGVtbmlmeSBUcmlidXRlIFRlY2hub2xvZ3kgYWdhaW5zdCBhbnkgY2xhaW1zIHRoYXQgQ29udGVudCB5b3Ugc3VibWl0IHRvIFRyaWJ1dGUgVGVjaG5vbG9neSB2aW9sYXRlcyB0aGUgaW50ZWxsZWN0dWFsIHByb3BlcnR5IGFuZC9vciBwcml2YWN5IHJpZ2h0cyBvZiBhbnkgcGVyc29uIG9yIHRoaXJkIHBhcnR5LjwvbGk+DQo8L29sPg0KPHA+Jm5ic3A7PC9wPg0KPG9sPg0KPGxpPjxzdHJvbmc+VGVybWluYXRpb24uPC9zdHJvbmc+Jm5ic3A7SWYgeW91IHZpb2xhdGUgdGhlc2UgVGVybXMsIHlvdXIgcGVybWlzc2lvbiB0byB1c2UgdGhlIFNlcnZpY2VzIHdpbGwgYXV0b21hdGljYWxseSB0ZXJtaW5hdGUuIEluIGFkZGl0aW9uLCBUcmlidXRlIFRlY2hub2xvZ3kgaW4gaXRzIHNvbGUgZGlzY3JldGlvbiBtYXkgc3VzcGVuZCBvciB0ZXJtaW5hdGUgeW91ciB1c2VyIGFjY291bnQgYW5kL29yIHN1c3BlbmQgb3IgdGVybWluYXRlIHNvbWUgb3IgYWxsIG9mIHlvdXIgYWNjZXNzIHRvIHRoZSBTZXJ2aWNlcyBhdCBhbnkgdGltZSwgd2l0aCBvciB3aXRob3V0IG5vdGljZSB0byB5b3UuIFlvdSBtYXkgdGVybWluYXRlIHlvdXIgYWNjb3VudCBhdCBhbnkgdGltZSBieSBjb250YWN0aW5nIFRyaWJ1dGUgVGVjaG5vbG9neSBhdCZuYnNwO3dlYnNpdGVzQHRyaWJ1dGV0ZWNoLmNvbS4gQWZ0ZXIgeW91ciBhY2NvdW50IGlzIHRlcm1pbmF0ZWQsIGluZm9ybWF0aW9uIGFuZCBjb250ZW50IHByZXZpb3VzbHkgcHJvdmlkZWQgYnkgeW91IHdpbGwgbm8gbG9uZ2VyIGJlIGFjY2Vzc2libGUgdGhyb3VnaCB5b3VyIGFjY291bnQsIGJ1dCBUcmlidXRlIFRlY2hub2xvZ3kgbWF5IGNvbnRpbnVlIHRvIHN0b3JlIHN1Y2ggaW5mb3JtYXRpb24gYW5kIGNvbnRlbnQsIGFuZCBpdCBtYXkgYWxzbyBiZSBzdG9yZWQgYnkgdGhpcmQgcGFydGllcyB0byB3aG9tIGl0IGhhcyBiZWVuIHRyYW5zZmVycmVkIHRocm91Z2ggeW91ciB1c2Ugb2YgdGhlIFNlcnZpY2VzLjwvbGk+DQo8L29sPg0KPHA+Jm5ic3A7PC9wPg0KPG9sPg0KPGxpPjxzdHJvbmc+TW9kaWZpY2F0aW9uIG9mIHRoZSBUZXJtcy48L3N0cm9uZz4mbmJzcDtUcmlidXRlIFRlY2hub2xvZ3kgcmVzZXJ2ZXMgdGhlIHJpZ2h0IGF0IGFueSB0aW1lIHRvIG1vZGlmeSB0aGVzZSBUZXJtcyBhbmQgdG8gaW1wb3NlIG5ldyBvciBhZGRpdGlvbmFsIHRlcm1zIG9yIGNvbmRpdGlvbnMgb24geW91ciB1c2Ugb2YgdGhlIFNlcnZpY2VzLiBTdWNoIG1vZGlmaWNhdGlvbnMgYW5kIGFkZGl0aW9uYWwgdGVybXMgYW5kIGNvbmRpdGlvbnMgd2lsbCBiZSBlZmZlY3RpdmUgaW1tZWRpYXRlbHkgYW5kIGluY29ycG9yYXRlZCBpbnRvIHRoZXNlIFRlcm1zIHVwb24gdXBkYXRpbmcgdGhlIHBvc3Rpbmcgb2YgdGhlc2UgVGVybXMuIFdlIHdpbGwgbWFrZSByZWFzb25hYmxlIGVmZm9ydHMgdG8gbm90aWZ5IHlvdSBvZiBhbnkgbWF0ZXJpYWwgY2hhbmdlcyB0byB0aGUgVGVybXMsIGluY2x1ZGluZyBieSB1cGRhdGluZyB0aGlzIHBvc3RpbmcuIFlvdSBzaG91bGQsIHRoZXJlZm9yZSwgcGVyaW9kaWNhbGx5IHZpc2l0IHRoaXMgcGFnZSB0byByZXZpZXcgdGhlIGN1cnJlbnQgVGVybXMsIHNvIHlvdSBhcmUgYXdhcmUgb2YgYW55IHN1Y2ggcmV2aXNpb25zIHRvIHdoaWNoIHlvdSBhcmUgYm91bmQuIFlvdXIgY29udGludWVkIHVzZSBvZiB0aGUgU2VydmljZXMgZm9sbG93aW5nIHJldmlzaW9ucyB0byB0aGVzZSBUZXJtcyB3aWxsIGJlIGRlZW1lZCBhY2NlcHRhbmNlIG9mIGFueSBtb2RpZmljYXRpb25zIHRvIHRoZSBUZXJtcy48L2xpPg0KPC9vbD4NCjxwPiZuYnNwOzwvcD4NCjxvbD4NCjxsaT48c3Ryb25nPkRpc2NsYWltZXJzIG9mIFdhcnJhbnRpZXMuPC9zdHJvbmc+Jm5ic3A7VEhFIFNFUlZJQ0VTIEFSRSBQUk9WSURFRCAmbGRxdW87QVMgSVMmcmRxdW87IEFORCBPTiBBTiAmbGRxdW87QVMgQVZBSUxBQkxFJnJkcXVvOyBCQVNJUywgV0lUSE9VVCBXQVJSQU5UWSBPUiBDT05ESVRJT04gT0YgQU5ZIEtJTkQsIEVJVEhFUiBFWFBSRVNTIE9SIElNUExJRUQuJm5ic3A7IEFsdGhvdWdoIFRyaWJ1dGUgVGVjaG5vbG9neSBzZWVrcyB0byBtYWludGFpbiBzYWZlLCBzZWN1cmUsIGFjY3VyYXRlLCBhbmQgd2VsbC1mdW5jdGlvbmluZyBzZXJ2aWNlcywgd2UgY2Fubm90IGd1YXJhbnRlZSB0aGUgY29udGludW91cyBvcGVyYXRpb24gb2Ygb3IgYWNjZXNzIHRvIG91ciBTZXJ2aWNlcywgYW5kIHRoZXJlIG1heSBhdCB0aW1lcyBiZSBpbmFkdmVydGVudCB0ZWNobmljYWwgb3IgZmFjdHVhbCBlcnJvcnMgb3IgaW5hY2N1cmFjaWVzLiZuYnNwOyBUUklCVVRFIFRFQ0hOT0xPR1kgU1BFQ0lGSUNBTExZIChCVVQgV0lUSE9VVCBMSU1JVEFUSU9OKSBESVNDTEFJTVMgKEkpIEFOWSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSwgUVVBTElUWSBPRiBJTkZPUk1BVElPTiwgUVVJRVQgRU5KT1lNRU5ULCBBTkQgVElUTEUvTk9OLUlORlJJTkdFTUVOVDsgQU5EIChJSSkgQU5ZIFdBUlJBTlRJRVMgQVJJU0lORyBPVVQgT0YgQ09VUlNFLU9GLURFQUxJTkcsIFVTQUdFLCBPUiBUUkFERS4mbmJzcDsgWU9VIEFTU1VNRSBBTEwgUklTSyBGT1IgQU5ZL0FMTCBEQU1BR0VTIFRIQVQgTUFZIFJFU1VMVCBGUk9NIFlPVVIgVVNFIE9GIE9SIEFDQ0VTUyBUTyBUSEUgU0lURVMgQU5EIFRIRSBTRVJWSUNFUy4mbmJzcDsgVFJJQlVURSBURUNITk9MT0dZIERPRVMgTk9UIFdBUlJBTlQgT1IgR1VBUkFOVEVFIFRIRSBBQ0NVUkFDWSwgQ09NUExFVEVORVNTIE9SIFRJTUVMSU5FU1MgT0YsIEFORCBESVNDTEFJTVMgQUxMIExJQUJJTElUWSBGT1IsIEFOWSBFUlJPUlMgT1IgT1RIRVIgSU5BQ0NVUkFDSUVTIElOIFRIRSBJTkZPUk1BVElPTiwgQ09OVEVOVCwgUkVDT01NRU5EQVRJT05TIEFORCBNQVRFUklBTFMgTUFERSBBVkFJTEFCTEUgVEhST1VHSCBUSEUgU0lURVMgT1IgVEhFIFNFUlZJQ0VTLiBUUklCVVRFIFRFQ0hOT0xPR1kgRE9FUyBOT1QgV0FSUkFOVCBUSEFUIEZJTEVTIEFWQUlMQUJMRSBGT1IgRE9XTkxPQUQgV0lMTCBCRSBGUkVFIE9GIFZJUlVTRVMsIFdPUk1TLCBUUk9KQU4gSE9SU0VTIE9SIE9USEVSIERFU1RSVUNUSVZFIFBST0dSQU1NSU5HLiBZT1UgQVJFIFJFU1BPTlNJQkxFIEZPUiBJTVBMRU1FTlRJTkcgUFJPQ0VEVVJFUyBTVUZGSUNJRU5UIFRPIFNBVElTRlkgWU9VUiBORUVEUyBGT1IgREFUQSBCQUNLIFVQIEFORCBTRUNVUklUWS48L2xpPg0KPC9vbD4NCjxwPiZuYnNwOzwvcD4NCjxvbD4NCjxsaT48c3Ryb25nPkxpbWl0YXRpb24gb2YgTGlhYmlsaXR5Ljwvc3Ryb25nPiZuYnNwO0lOIE5PIEVWRU5UIFdJTEwgVFJJQlVURSBURUNITk9MT0dZIE9SIElUUyBBRkZJTElBVEVTLCBWRU5ET1JTLCBTVVBQTElFUlMsIE9SIFBBUlRORVJTIEJFIExJQUJMRSBUTyBZT1UgRk9SIEFOWSBJTkNJREVOVEFMLCBTUEVDSUFMLCBDT05TRVFVRU5USUFMLCBJTkRJUkVDVCwgRVhFTVBMQVJZIE9SIFBVTklUSVZFIERBTUFHRVMgKElOQ0xVRElORywgV0lUSE9VVCBMSU1JVEFUSU9OLCBUSE9TRSBSRVNVTFRJTkcgRlJPTSBMT1NUIFBST0ZJVFMsIExPU1QgREFUQSwgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSwgV0hFVEhFUiBCQVNFRCBPTiBXQVJSQU5UWSwgQ09OVFJBQ1QsIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFKSwgU1RBVFVURSwgT1IgQU5ZIE9USEVSIExFR0FMIFRIRU9SWSwgV0hFVEhFUiBPUiBOT1QgVFJJQlVURSBURUNITk9MT0dZIEhBUyBCRUVOIElORk9STUVEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS48L2xpPg0KPC9vbD4NCjxwPiZuYnNwOzwvcD4NCjxwPk5PVFdJVEhTVEFORElORyBBTllUSElORyBUTyBUSEUgQ09OVFJBUlkgSU4gVEhFU0UgVEVSTVMsIFVOREVSIE5PIENJUkNVTVNUQU5DRVMgU0hBTEwgVFJJQlVURSBURUNITk9MT0dZJnJzcXVvO1MsIE9SIElUUyBBRkZJTElBVEUmcnNxdW87UywgVkVORE9SJnJzcXVvO1MsIFNVUFBMSUVSJnJzcXVvO1MsIE9SIFBBUlRORVImcnNxdW87UywgQUdHUkVHQVRFIExJQUJJTElUWSBUTyBZT1UgRVhDRUVEIFRIRSBMRVNTRVIgT0YgVEhFIEFNT1VOVCBZT1UgUEFJRCBUTyBVUyBGT1IgVEhFIFBST0RVQ1QgT1IgU0VSVklDRSBSRUxBVEVEIFRPIFRIRSBDTEFJTSwgSUYgQU5ZLCBPUiBPTkUgSFVORFJFRCBET0xMQVJTICgkMTAwKS4mbmJzcDsgU09NRSBKVVJJU0RJQ1RJT05TIERPIE5PVCBBTExPVyBUSEUgRElTQ0xBSU1FUiBPRiBXQVJSQU5USUVTIE9SIExJTUlUQVRJT04gT0YgTElBQklMSVRZIElOIENFUlRBSU4gQ0lSQ1VNU1RBTkNFUy4mbmJzcDsgQUNDT1JESU5HTFksIFNPTUUgT0YgVEhFIEFCT1ZFIExJTUlUQVRJT05TIE1BWSBOT1QgQVBQTFkgVE8gWU9VLjwvcD4NCjxwPiZuYnNwOzwvcD4NCjxvbD4NCjxsaT48c3Ryb25nPkludGVycHJldGF0aW9ucyBhbmQgRGlzcHV0ZXMuPC9zdHJvbmc+Jm5ic3A7WU9VIEFORCBUUklCVVRFIFRFQ0hOT0xPR1kgQVJFIEFHUkVFSU5HIFRPIEdJVkUgVVAgQU5ZIFJJR0hUUyBUTyBMSVRJR0FURSBDTEFJTVMgSU4gQSBDT1VSVCBPUiBCRUZPUkUgQSBKVVJZLCBPUiBUTyBQQVJUSUNJUEFURSBJTiBBIENMQVNTIEFDVElPTiBPUiBSRVBSRVNFTlRBVElWRSBBQ1RJT04gV0lUSCBSRVNQRUNUIFRPIEEgQ0xBSU0uJm5ic3A7IE9USEVSIFJJR0hUUyBUSEFUIFlPVSBXT1VMRCBIQVZFIElGIFlPVSBXRU5UIFRPIENPVVJUIE1BWSBBTFNPIEJFIFVOQVZBSUxBQkxFIE9SIE1BWSBCRSBMSU1JVEVEIElOIEFSQklUUkFUSU9OLjwvbGk+DQo8L29sPg0KPHA+Jm5ic3A7PC9wPg0KPG9sPg0KPGxpPkFOWSBDTEFJTSwgRElTUFVURSBPUiBDT05UUk9WRVJTWSAoV0hFVEhFUiBJTiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIFdIRVRIRVIgUFJFLUVYSVNUSU5HLCBQUkVTRU5UIE9SIEZVVFVSRSwgQU5EIElOQ0xVRElORyBTVEFUVVRPUlksIENPTlNVTUVSIFBST1RFQ1RJT04sIENPTU1PTiBMQVcsIElOVEVOVElPTkFMIFRPUlQsIElOSlVOQ1RJVkUgQU5EIEVRVUlUQUJMRSBDTEFJTVMpIEJFVFdFRU4gWU9VIEFORCBVUyBBUklTSU5HIEZST00gT1IgUkVMQVRJTkcgSU4gQU5ZIFdBWSBUTyBUSEVTRSBURVJNUyBPUiBZT1VSIFVTRSBPRiBUSEUgU0lURSBPUiBTRVJWSUNFUywgSU5DTFVESU5HIEFOWSBQVVJDSEFTRSBPUiBVU0UgT0YgT1VSIFNFUlZJQ0VTIE9SIFBST0RVQ1RTLCBXSUxMIEJFIFJFU09MVkVEIEVYQ0xVU0lWRUxZIEFORCBGSU5BTExZIEJZIEJJTkRJTkcgQVJCSVRSQVRJT04uPC9saT4NCjwvb2w+DQo8cD4mbmJzcDs8L3A+DQo8b2wgc3RhcnQ9Ijc4NzkiPg0KPGxpPklmIHRoZSBsb2NhdGlvbiBvZiB0aGUgYnVzaW5lc3MgYWRkcmVzcyBvZiB0aGUgQ2xpZW50LCBvciBvdGhlciBidXNpbmVzcyBvbiB3aG9zZSB3ZWJzaXRlIHRoZXNlIFRlcm1zIGFwcGVhciwgaXMgaW4gdGhlIFVuaXRlZCBTdGF0ZXMgb3IgYW55d2hlcmUgZWxzZSBpbiB0aGUgd29ybGQgb3V0c2lkZSBvZiBDYW5hZGEsIGFyYml0cmF0aW9uIHdpbGwgYmUgYWRtaW5pc3RlcmVkIGJ5IHRoZSBBbWVyaWNhbiBBcmJpdHJhdGlvbiBBc3NvY2lhdGlvbiAoJmxkcXVvO0FBQSZyZHF1bzspIGluIGFjY29yZGFuY2Ugd2l0aCBlaXRoZXIgdGhlIENvbnN1bWVyIEFyYml0cmF0aW9uIFJ1bGVzIG9yIHRoZSBDb21tZXJjaWFsIEFyYml0cmF0aW9uIFJ1bGVzIGFzIGFwcGxpY2FibGUgKHRoZSAmbGRxdW87QUFBIFJ1bGVzJnJkcXVvOykgdGhlbiBpbiBlZmZlY3QsIGV4Y2VwdCBhcyBtb2RpZmllZCBieSB0aGlzIFNlY3Rpb24gMTIsIGFuZCB0aGUgRmVkZXJhbCBBcmJpdHJhdGlvbiBBY3QgKCZsZHF1bztGQUEmcmRxdW87KSB3aWxsIGdvdmVybiB0aGUgaW50ZXJwcmV0YXRpb24gYW5kIGVuZm9yY2VtZW50IG9mIHRoaXMgU2VjdGlvbiAxMjsgcHJvdmlkZWQsIHRoYXQgaWYgdGhlIEZBQSBpcyBpbmFwcGxpY2FibGUgZm9yIGFueSByZWFzb24sIHRoZSBhcHBsaWNhYmxlIGdvdmVybmluZyBsYXcgaWRlbnRpZmllZCBpbiB0aGUgdGFibGUgaW4gU2VjdGlvbiAxMyBzaGFsbCBhcHBseSwgaW5jbHVkaW5nIHdpdGggcmVzcGVjdCB0byBEZWxhd2FyZSBsYXcsIERlbC4gQ29kZSB0aXQuIDEwICZzZWN0OyA1NzAxIGV0IHNlcSwgd2l0aG91dCByZWdhcmQgdG8gY2hvaWNlIG9mIGxhdyBwcmluY2lwbGVzLiAoVGhlIEFBQSBSdWxlcyBhcmUgYXZhaWxhYmxlIGF0IGFkci5vcmcgb3IgYnkgY2FsbGluZyB0aGUgQUFBIGF0IDEtODAwLTc3OC03ODc5LikgVW5sZXNzIHlvdSBhbmQgd2UgbXV0dWFsbHkgYWdyZWUgb3RoZXJ3aXNlLCBhbnkgaW4tcGVyc29uIGFyYml0cmF0aW9uIGhlYXJpbmdzIGJldHdlZW4geW91IGFuZCB1cyB3aWxsIHRha2UgcGxhY2UgaW4gdGhlIGFwcGxpY2FibGUganVyaXNkaWN0aW9uIGxpc3RlZCBpbiB0aGUgdGFibGUgaW4gU2VjdGlvbiAxMyBiZWxvdy48L2xpPg0KPC9vbD4NCjxwPiZuYnNwOzwvcD4NCjxvbCBzdGFydD0iODQ1Ij4NCjxsaT5JZiB0aGUgbG9jYXRpb24gb2YgdGhlIGJ1c2luZXNzIGFkZHJlc3Mgb2YgdGhlIENsaWVudCwgb3Igb3RoZXIgYnVzaW5lc3Mgb24gd2hvc2Ugd2Vic2l0ZSB0aGVzZSBUZXJtcyBhcHBlYXIsIGlzIGluIENhbmFkYSwgYXJiaXRyYXRpb24gd2lsbCBiZSBhZG1pbmlzdGVyZWQgYnkgdGhlIEludGVybmF0aW9uYWwgQ2VudHJlIGZvciBEaXNwdXRlIFJlc29sdXRpb24gQ2FuYWRhICgmbGRxdW87SUNEUiBDYW5hZGEmcmRxdW87KSBpbiBhY2NvcmRhbmNlIHdpdGggdGhlIENhbmFkaWFuIEFyYml0cmF0aW9uIFJ1bGVzICh0aGUgJmxkcXVvO0lDRFIgQ2FuYWRhIEFyYml0cmF0aW9uIFJ1bGVzJnJkcXVvOykgdGhlbiBpbiBlZmZlY3QsIGV4Y2VwdCBhcyBtb2RpZmllZCBieSB0aGlzIFNlY3Rpb24uIChUaGUgSUNEUiBDYW5hZGEgQXJiaXRyYXRpb24gUnVsZXMgYXJlIGF2YWlsYWJsZSBhdCBJQ0RSLm9yZyBvciBieSBjYWxsaW5nIHRoZSBJQ0RSIENhbmFkYSBhdCAxLTg0NC04NTktMDg0NS4pIFRoZSBzZWF0IG9mIGFyYml0cmF0aW9uIHNoYWxsIGJlIFRvcm9udG8sIE9udGFyaW8uIFVubGVzcyB5b3UgYW5kIHdlIG11dHVhbGx5IGFncmVlIG90aGVyd2lzZSwgYW55IGluLXBlcnNvbiBhcmJpdHJhdGlvbiBoZWFyaW5ncyBiZXR3ZWVuIHlvdSBhbmQgdXMgd2lsbCB0YWtlIHBsYWNlIGluIHRoZSBhcHBsaWNhYmxlIGp1cmlzZGljdGlvbiBsaXN0ZWQgaW4gdGhlIHRhYmxlIGluIFNlY3Rpb24gMTMgYmVsb3cuPC9saT4NCjwvb2w+DQo8cD4mbmJzcDs8L3A+DQo8b2w+DQo8bGk+RXhjZXB0IGFzIHByb3ZpZGVkIGhlcmVpbiwgdGhlIGFyYml0cmF0b3Igd2lsbCBoYXZlIGV4Y2x1c2l2ZSBhdXRob3JpdHkgdG8gcmVzb2x2ZSBhbnkgZGlzcHV0ZSByZWxhdGluZyB0byBhcmJpdHJhYmlsaXR5IGFuZC9vciBlbmZvcmNlYWJpbGl0eSBvZiB0aGlzIGFyYml0cmF0aW9uIHByb3Zpc2lvbiwgaW5jbHVkaW5nIGFueSB1bmNvbnNjaW9uYWJpbGl0eSBjaGFsbGVuZ2Ugb3IgYW55IG90aGVyIGNoYWxsZW5nZSB0aGF0IHRoZSBhcmJpdHJhdGlvbiBwcm92aXNpb24gb3IgdGhlIFRlcm1zIGFyZSB2b2lkLCB2b2lkYWJsZSBvciBvdGhlcndpc2UgaW52YWxpZC4gVGhlIGFyYml0cmF0b3Igd2lsbCBiZSBlbXBvd2VyZWQgdG8gZ3JhbnQgd2hhdGV2ZXIgcmVsaWVmIHdvdWxkIGJlIGF2YWlsYWJsZSBpbiBjb3VydCB1bmRlciBsYXcgb3IgaW4gZXF1aXR5LiZuYnNwOyBBbnkgYXdhcmQgb2YgdGhlIGFyYml0cmF0b3Iocykgd2lsbCBiZSBmaW5hbCBhbmQgYmluZGluZyBvbiBlYWNoIG9mIHRoZSBwYXJ0aWVzIGFuZCBtYXkgYmUgZW50ZXJlZCBhcyBhIGp1ZGdtZW50IGluIGFueSBjb3VydCBvZiBjb21wZXRlbnQganVyaXNkaWN0aW9uLiBZb3UgYW5kIHdlIGFncmVlIHRoYXQgbmVpdGhlciBwYXJ0eSBzaGFsbCBhcHBlYWwgYW55IGF3YXJkIG9mIHRoZSBhcmJpdHJhdG9yLCBpbmNsdWRpbmcgYW55IGFwcGVhbCBvbiBhIHF1ZXN0aW9uIG9mIGxhdywgcXVlc3Rpb24gb2YgZmFjdCBvciBxdWVzdGlvbiBvZiBtaXhlZCBmYWN0IGFuZCBsYXcuJm5ic3A7PC9saT4NCjwvb2w+DQo8cD4mbmJzcDs8L3A+DQo8b2w+DQo8bGk+V2Ugd2lsbCBiZSByZXNwb25zaWJsZSBmb3IgcGF5aW5nIGFueSBpbmRpdmlkdWFsIGNvbnN1bWVyJnJzcXVvO3MgYXJiaXRyYXRpb24vYXJiaXRyYXRvciBmZWVzLiBJZiBhbiBpbmRpdmlkdWFsIGNvbnN1bWVyIHByZXZhaWxzIG9uIGFueSBjbGFpbSB0aGF0IGFmZm9yZHMgdGhlIHByZXZhaWxpbmcgcGFydHkgYXR0b3JuZXlzJyBmZWVzLCB0aGUgYXJiaXRyYXRvciBtYXkgYXdhcmQgcmVhc29uYWJsZSBmZWVzIHRvIHlvdSB1bmRlciB0aGUgc3RhbmRhcmRzIGZvciBmZWUgc2hpZnRpbmcgcHJvdmlkZWQgYnkgbGF3LiZuYnNwOyBGb3IgdGhlIGF2b2lkYW5jZSBvZiBkb3VidCwgdGhpcyBTZWN0aW9uIDEyKEUpIHNoYWxsIG9ubHkgYXBwbHkgdG8gaW5kaXZpZHVhbCBjb25zdW1lcnMuJm5ic3A7PC9saT4NCjwvb2w+DQo8cD4mbmJzcDs8L3A+DQo8b2w+DQo8bGk+WW91IGFncmVlIHRvIGFuIGFyYml0cmF0aW9uIG9uIGFuIGluZGl2aWR1YWwgYmFzaXMuIEluIGFueSBkaXNwdXRlLCBORUlUSEVSIFlPVSBOT1IgVFJJQlVURSBURUNITk9MT0dZIFdJTEwgQkUgRU5USVRMRUQgVE8gSk9JTiBPUiBDT05TT0xJREFURSBDTEFJTVMgQlkgT1IgQUdBSU5TVCBPVEhFUiBDVVNUT01FUlMgSU4gQ09VUlQgT1IgSU4gQVJCSVRSQVRJT04gT1IgT1RIRVJXSVNFIFBBUlRJQ0lQQVRFIElOIEFOWSBDTEFJTSBBUyBBIENMQVNTIFJFUFJFU0VOVEFUSVZFLCBDTEFTUyBNRU1CRVIgT1IgSU4gQSBQUklWQVRFIEFUVE9STkVZIEdFTkVSQUwgQ0FQQUNJVFkuJm5ic3A7IFRoZSBhcmJpdHJhbCB0cmlidW5hbCBzaGFsbCBub3QgY29uc29saWRhdGUgbW9yZSB0aGFuIG9uZSBwZXJzb24ncyBjbGFpbXMgYW5kIHNoYWxsIG5vdCBvdGhlcndpc2UgcHJlc2lkZSBvdmVyIGFueSBmb3JtIG9mIGEgcmVwcmVzZW50YXRpdmUgb3IgY2xhc3MgcHJvY2VlZGluZy4mbmJzcDsgVGhlIGFyYml0cmFsIHRyaWJ1bmFsIGhhcyBubyBwb3dlciB0byBjb25zaWRlciB0aGUgZW5mb3JjZWFiaWxpdHkgb2YgdGhpcyBjbGFzcyBhcmJpdHJhdGlvbiB3YWl2ZXIgYW5kIGFueSBjaGFsbGVuZ2UgdG8gdGhlIGNsYXNzIGFyYml0cmF0aW9uIHdhaXZlciBtYXkgb25seSBiZSByYWlzZWQgaW4gYSBjb3VydCBvZiBjb21wZXRlbnQganVyaXNkaWN0aW9uIGxvY2F0ZWQgaW4gdGhlIGp1cmlzZGljdGlvbiBzZXQgZm9ydGggaW4gU2VjdGlvbiAxMyBiZWxvdy4mbmJzcDs8L2xpPg0KPC9vbD4NCjxwPiZuYnNwOzwvcD4NCjxvbD4NCjxsaT5JZiBhbnkgcHJvdmlzaW9uIG9mIHRoaXMgU2VjdGlvbiBpcyBmb3VuZCB1bmVuZm9yY2VhYmxlLCB0aGUgdW5lbmZvcmNlYWJsZSBwcm92aXNpb24gd2lsbCBiZSBzZXZlcmVkIGFuZCB0aGUgcmVtYWluaW5nIGFyYml0cmF0aW9uIHRlcm1zIHdpbGwgYmUgZW5mb3JjZWQ7IHByb3ZpZGVkLCB0aGF0IGluIHRoZSBldmVudCBzdWJzZWN0aW9uIChGKSBpcyBmb3VuZCB0byBiZSB1bmVuZm9yY2VhYmxlLCBhbGwgb2YgdGhpcyBTZWN0aW9uIDEyIHNoYWxsIGJlIGRlZW1lZCBudWxsIGFuZCB2b2lkIGFuZCBvZiBubyBlZmZlY3QuPC9saT4NCjwvb2w+DQo8cD4mbmJzcDs8L3A+DQo8b2w+DQo8bGk+PHN0cm9uZz5Db250cmFjdGluZyBFbnRpdHk7IEdvdmVybmluZyBMYXcuPC9zdHJvbmc+Jm5ic3A7IEFsbCByZWZlcmVuY2VzIHRvICZsZHF1bztUcmlidXRlIFRlY2hub2xvZ3ksJnJkcXVvOyAmbGRxdW87d2UsJnJkcXVvOyAmbGRxdW87dXMmcmRxdW87IG9yICZsZHF1bztvdXImcmRxdW87IGluIHRoZSBUZXJtcyByZWZlciB0byB0aGUgYXBwbGljYWJsZSBlbnRpdHkgc3BlY2lmaWVkIGluIHRoZSB0YWJsZSBiZWxvdywgd2hpY2ggaXMgYmFzZWQgb24gdGhlIGxvY2F0aW9uIG9mIHRoZSBidXNpbmVzcyBhZGRyZXNzIG9mIHRoZSBDbGllbnQgb3Igb3RoZXIgYnVzaW5lc3Mgb24gd2hvc2Ugd2Vic2l0ZSB0aGVzZSBUZXJtcyBhcHBlYXIsIGFzIHBvc3RlZCBvbiBzdWNoIHdlYnNpdGUuIEFkZGl0aW9uYWxseSwgdGhlc2UgVGVybXMgYXJlIGdvdmVybmVkIGJ5IHRoZSBsYXdzIG9mIHRoZSBzdGF0ZSBvciBwcm92aW5jZSBpZGVudGlmaWVkIGluIHRoZSB0YWJsZSBiZWxvdywgYWdhaW4gYmFzZWQgb24gdGhlIGxvY2F0aW9uIG9mIHRoZSBidXNpbmVzcyBhZGRyZXNzIG9mIHRoZSBDbGllbnQgb3Igb3RoZXIgYnVzaW5lc3Mgb24gd2hvc2Ugd2Vic2l0ZSB0aGVzZSBUZXJtcyBhcHBlYXIsIGFuZCB3aXRob3V0IHJlZ2FyZCB0byBjb25mbGljdCBvZiBsYXcgcHJpbmNpcGxlcy4mbmJzcDsgVG8gdGhlIGV4dGVudCB0aGF0IGFueSBsYXdzdWl0IG9yIGNvdXJ0IHByb2NlZWRpbmcgaXMgcGVybWl0dGVkIGhlcmV1bmRlciwgeW91IGFuZCBUcmlidXRlIFRlY2hub2xvZ3kgYWdyZWUgdG8gc3VibWl0IHRvIHRoZSBleGNsdXNpdmUgcGVyc29uYWwganVyaXNkaWN0aW9uIG9mIHRoZSBjb3VydHMgbG9jYXRlZCBpbiBhbmQgZm9yIHRoZSAmcmRxdW87RXhjbHVzaXZlIEp1cmlzZGljdGlvbiZyZHF1bzsgaWRlbnRpZmllZCBpbiB0aGUgdGFibGUgYmVsb3csIGZvciB0aGUgcHVycG9zZSBvZiBsaXRpZ2F0aW5nIGFsbCBzdWNoIGRpc3B1dGVzLiZuYnNwOyBBbnkgY2F1c2Ugb2YgYWN0aW9uIG9yIGNsYWltIHdpdGggcmVzcGVjdCB0byB0aGUgU2l0ZXMgb3IgdGhlIFNlcnZpY2VzIG11c3QgYmUgY29tbWVuY2VkIHdpdGhpbiB0d28gKDIpIHllYXJzIGFmdGVyIHRoZSBhY3Rpb24gb3IgY2xhaW0gYXJpc2VzIG9yIGlzIGRpc2NvdmVyZWQuPC9saT4NCjwvb2w+DQo8cD4mbmJzcDs8L3A+DQo8dGFibGU+DQo8dGJvZHk+DQo8dHI+DQo8dGQgd2lkdGg9IjEzNiI+DQo8cD48c3Ryb25nPkxvY2F0aW9uIG9mIEJ1c2luZXNzIEFkZHJlc3M8L3N0cm9uZz48L3A+DQo8L3RkPg0KPHRkIHdpZHRoPSIxNjEiPg0KPHA+PHN0cm9uZz5BcHBsaWNhYmxlIENvbnRyYWN0aW5nIEVudGl0eTwvc3Ryb25nPjwvcD4NCjwvdGQ+DQo8dGQgd2lkdGg9IjEwNyI+DQo8cD48c3Ryb25nPkdvdmVybmluZyBMYXc8L3N0cm9uZz48L3A+DQo8L3RkPg0KPHRkIHdpZHRoPSIxNjAiPg0KPHA+PHN0cm9uZz5FeGNsdXNpdmUgSnVyaXNkaWN0aW9uPC9zdHJvbmc+PC9wPg0KPC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQgd2lkdGg9IjEzNiI+DQo8cD5DYW5hZGE8L3A+DQo8L3RkPg0KPHRkIHdpZHRoPSIxNjEiPg0KPHA+VHJpYnV0ZSBUZWNobm9sb2d5IENhbmFkYSwgVUxDLCBhIEJyaXRpc2ggQ29sdW1iaWEgdW5saW1pdGVkIGxpYWJpbGl0eSBjb21wYW55PC9wPg0KPC90ZD4NCjx0ZCB3aWR0aD0iMTA3Ij4NCjxwPk9udGFyaW88L3A+DQo8L3RkPg0KPHRkIHdpZHRoPSIxNjAiPg0KPHA+VG9yb250bywgT250YXJpbzwvcD4NCjwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkIHdpZHRoPSIxMzYiPg0KPHA+VW5pdGVkIFN0YXRlcyBhbmQgdGhlIHJlc3Qgb2YgdGhlIHdvcmxkIG91dHNpZGUgQ2FuYWRhPC9wPg0KPC90ZD4NCjx0ZCB3aWR0aD0iMTYxIj4NCjxwPlRyaWJ1dGUgVGVjaG5vbG9neSBVUywgTExDLCBhIERlbGF3YXJlIGxpbWl0ZWQgbGlhYmlsaXR5IGNvbXBhbnk8L3A+DQo8L3RkPg0KPHRkIHdpZHRoPSIxMDciPg0KPHA+RGVsYXdhcmU8L3A+DQo8L3RkPg0KPHRkIHdpZHRoPSIxNjAiPg0KPHA+TWFkaXNvbiwgV2lzY29uc2luPC9wPg0KPC90ZD4NCjwvdHI+DQo8L3Rib2R5Pg0KPC90YWJsZT4NCjxwPiZuYnNwOzwvcD4NCjxwPiZuYnNwOzwvcD4NCjxvbD4NCjxsaT48c3Ryb25nPk1vZGlmaWNhdGlvbiBvZiB0aGUgU2l0ZXMgYW5kIFNlcnZpY2VzLjwvc3Ryb25nPiZuYnNwO1RyaWJ1dGUgVGVjaG5vbG9neSByZXNlcnZlcyB0aGUgcmlnaHQgdG8gbW9kaWZ5IG9yIGRpc2NvbnRpbnVlLCB0ZW1wb3JhcmlseSBvciBwZXJtYW5lbnRseSwgc29tZSBvciBhbGwgb2YgdGhlIFNpdGVzIGFuZCBTZXJ2aWNlcyBhdCBhbnkgdGltZSB3aXRob3V0IGFueSBub3RpY2Ugb3IgZnVydGhlciBvYmxpZ2F0aW9uIHRvIHlvdS4gWW91IGFncmVlIHRoYXQgVHJpYnV0ZSBUZWNobm9sb2d5IHdpbGwgbm90IGJlIGxpYWJsZSB0byB5b3Ugb3IgdG8gYW55IHRoaXJkIHBhcnR5IGZvciBhbnkgbW9kaWZpY2F0aW9uLCBzdXNwZW5zaW9uLCBvciBkaXNjb250aW51YW5jZSBvZiBhbnkgb2YgdGhlIFNpdGVzIG9yIFNlcnZpY2VzLjwvbGk+DQo8L29sPg0KPHA+Jm5ic3A7PC9wPg0KPG9sPg0KPGxpPjxzdHJvbmc+R2VuZXJhbC48L3N0cm9uZz48L2xpPg0KPC9vbD4NCjxvbD4NCjxvbD4NCjxsaT48dT5FbnRpcmUgQWdyZWVtZW50PC91Pi4gVW5sZXNzIG90aGVyd2lzZSBleHByZXNzbHkgc3RhdGVkIGhlcmVpbiBvciBhbm90aGVyIHdyaXR0ZW4gYWdyZWVtZW50IGJldHdlZW4geW91IGFuZCBUcmlidXRlIFRlY2hub2xvZ3ksIHRoZXNlIFRlcm1zIGNvbnN0aXR1dGUgdGhlIGVudGlyZSBhbmQgZXhjbHVzaXZlIHVuZGVyc3RhbmRpbmcgYW5kIGFncmVlbWVudCBiZXR3ZWVuIHlvdSBhbmQgVHJpYnV0ZSBUZWNobm9sb2d5IHJlZ2FyZGluZyB5b3VyIHVzZSBvZiBhbmQgYWNjZXNzIHRvIHRoZSBTaXRlcyBhbmQgU2VydmljZXMsIGFuZCBleGNlcHQgYXMgZXhwcmVzc2x5IHBlcm1pdHRlZCBhYm92ZSBtYXkgb25seSBiZSBhbWVuZGVkIGJ5IGEgd3JpdHRlbiBhZ3JlZW1lbnQgc2lnbmVkIGJ5IGF1dGhvcml6ZWQgcmVwcmVzZW50YXRpdmVzIG9mIHRoZSBwYXJ0aWVzLjwvbGk+DQo8bGk+PHU+Tm8gV2FpdmVyPC91Pi4gVGhlIGZhaWx1cmUgdG8gcmVxdWlyZSBwZXJmb3JtYW5jZSBvZiBhbnkgcHJvdmlzaW9uIHNoYWxsIG5vdCBhZmZlY3Qgb3VyIHJpZ2h0IHRvIHJlcXVpcmUgcGVyZm9ybWFuY2UgYXQgYW55IHRpbWUgdGhlcmVhZnRlciwgbm9yIHNoYWxsIGEgd2FpdmVyIG9mIGFueSBicmVhY2ggb3IgZGVmYXVsdCBvZiB0aGUgVGVybXMgY29uc3RpdHV0ZSBhIHdhaXZlciBvZiBhbnkgc3Vic2VxdWVudCBicmVhY2ggb3IgZGVmYXVsdCBvciBhIHdhaXZlciBvZiB0aGUgcHJvdmlzaW9uIGl0c2VsZi48L2xpPg0KPGxpPjx1PlBhcmFncmFwaCBIZWFkZXJzPC91Pi4gVXNlIG9mIHBhcmFncmFwaCBoZWFkZXJzIGluIHRoZSBUZXJtcyBpcyBmb3IgY29udmVuaWVuY2Ugb25seSBhbmQgc2hhbGwgbm90IGhhdmUgYW55IGltcGFjdCBvbiB0aGUgaW50ZXJwcmV0YXRpb24gb2YgcGFydGljdWxhciBwcm92aXNpb25zLjwvbGk+DQo8bGk+PHU+U2V2ZXJhYmlsaXR5PC91Pi4gSW4gdGhlIGV2ZW50IHRoYXQgYW55IHBhcnQgb2YgdGhlIFRlcm1zIGlzIGhlbGQgdG8gYmUgaW52YWxpZCBvciB1bmVuZm9yY2VhYmxlLCB0aGUgdW5lbmZvcmNlYWJsZSBwYXJ0IHNoYWxsIGJlIGdpdmVuIGVmZmVjdCB0byB0aGUgZ3JlYXRlc3QgZXh0ZW50IHBvc3NpYmxlIGFuZCB0aGUgcmVtYWluaW5nIHBhcnRzIHdpbGwgcmVtYWluIGluIGZ1bGwgZm9yY2UgYW5kIGVmZmVjdC48L2xpPg0KPC9vbD4NCjwvb2w+DQo8cD4mbmJzcDs8L3A+DQo8b2w+DQo8bGk+PHN0cm9uZz5Ob3RpY2UgdG8gQ2FsaWZvcm5pYSBSZXNpZGVudHMuPC9zdHJvbmc+Jm5ic3A7VW5kZXIgQ2FsaWZvcm5pYSBDaXZpbCBDb2RlIFNlY3Rpb24gMTc4OS4zLCB5b3UgbWF5IGNvbnRhY3QgdGhlIENvbXBsYWludCBBc3Npc3RhbmNlIFVuaXQgb2YgdGhlIERpdmlzaW9uIG9mIENvbnN1bWVyIFNlcnZpY2VzIG9mIHRoZSBDYWxpZm9ybmlhIERlcGFydG1lbnQgb2YgQ29uc3VtZXIgQWZmYWlycyBpbiB3cml0aW5nIGF0IDE2MjUgTi4gTWFya2V0IEJsdmQuLCBTdWl0ZSBOLTExMiwgU2FjcmFtZW50bywgQ2FsaWZvcm5pYSA5NTgzNCwgb3IgYnkgdGVsZXBob25lIGF0ICg4MDApIDk1Mi01MjEwIGluIG9yZGVyIHRvIHJlc29sdmUgYSBjb21wbGFpbnQgcmVnYXJkaW5nIHRoZSBzZXJ2aWNlIG9yIHRvIHJlY2VpdmUgZnVydGhlciBpbmZvcm1hdGlvbiByZWdhcmRpbmcgdXNlIG9mIHRoZSBzZXJ2aWNlLjwvbGk+DQo8L29sPg0KPHA+Jm5ic3A7PC9wPg0KPC9kaXY+DQo8ZGl2IGlkPSIxNTc1OTQ5NjI0IiBjbGFzcz0iZG1OZXdQYXJhZ3JhcGgiIGRhdGEtZWxlbWVudC10eXBlPSJwYXJhZ3JhcGgiIGRhdGEtdmVyc2lvbj0iNSI+PC9kaXY+/div> div classbase64 styledisplay: none idaccessibility> PHA+V2UgYXJlIGNvbW1pdHRlZCB0byBpbXByb3ZpbmcgYW5kIG1haW50YWluaW5nIGEgd2Vic2l0ZSB0aGF0IGlzIGFjY2Vzc2libGUgdG8gdGhlIHdpZGVzdCBwb3NzaWJsZSBhdWRpZW5jZSwgcmVnYXJkbGVzcyBvZiB0ZWNobm9sb2d5IG9yIGFiaWxpdHkuIElmIHlvdSBleHBlcmllbmNlIGFueSBkaWZmaWN1bHR5IGluIGFjY2Vzc2luZyBhbnkgcGFydCBvZiB0aGlzIHdlYnNpdGUsIHBsZWFzZSBmZWVsIGZyZWUgdG8gY2FsbCBvdXIgd2Vic2l0ZSBwcm92aWRlciBhdCA4NDQtMjAwLTYwMjAgb3IgZW1haWwgdGhlbSBhdCB3ZWJzaXRlc0B0cmlidXRldGVjaC5jb20sIG9yIGNvbnRhY3QgdXMgZGlyZWN0bHkuIE5vdGUgdGhhdCBvdXIgZWZmb3J0cyBhcmUgb25nb2luZywgYW5kIHdlIGFyZSBjb21taXR0ZWQgdG8gcHJvdmlkaW5nIHRoZSBpbmZvcm1hdGlvbiwgaXRlbSwgb3IgdHJhbnNhY3Rpb24geW91IHNlZWsgdGhyb3VnaCBhbiBhbHRlcm5hdGUgY29tbXVuaWNhdGlvbiBtZXRob2QgdGhhdCBpcyBhY2Nlc3NpYmxlIGZvciB5b3UuPC9wPg/div>/div> /div>/div> script> WebFontConfig.google.families.push( Open+Sans+Condensed:300, Roboto+Slab:100,300,400,700, Playfair+Display:400,700,900); /script> /div>/div>div classobit-popups-container>/div>script typetext/javascript> jQuery(document).ready(function () { /* hide loader */ setTimeout(function () { $(.page-loader-wrapper).removeClass(active); }, 1000); }); if (jQuery(window).width() 1200) { jQuery(window).load(function () { /* menu hotfix */ setTimeout(removeMenuCalc(), 1000); }); } else { removeMenuCalc(); } function removeMenuCalc() { jQuery(#navbar).css({ position: , visibility: }); }/script> div classprintable>/div> script typetext/javascript> jQuery(document).ready(function() { $(.navbar-toggle).click(function() { $(.navbar-toggle).toggleClass(active); $(#navbar).toggleClass(active); }); $(document).click(function(e) { closeOpenMobileMenu(e); }); $(document).keyup(function(e) { if (e.keyCode 27) closeOpenMobileMenu($(body)); // esc }); if ($(.additional-content-item)) { resetHeight(); setMaxHeight($(.additional-content-item)); $(window).resize(function() { resetHeight(); setMaxHeight($(.additional-content-item)); }); } if (!!$(.head-menu)) { $(.head-menu).responsiveNavigation({ SubMenu: $(.top-sub-menu), Fixed_Submenu: false, ShowMore_Buttons: false, NavigationMode: 2, SubmenuStyle: 0, MainMenuStyle: 1 }); } setTimeout(function () { $(.layerHasBanner).css({ overflow: auto, max-height: auto }); $(window).resize(); }, 2000); if (false true) { scrollSpyInit(); } DailySubscribeInit(); FrazerMaps.ShowMaps($(.map-box)); if (!window.location.hash) { $(html, body).animate({ scrollTop: 0 }, 500, linear); } if (!!$.fn.superbox) $.superbox(); AOS.init({ easing: ease-out-back, duration: 1000, disable: mobile }); }); function closeOpenMobileMenu(e) { if ($(e.target).closest(.navbar).length 0 && !!$(.navbar-toggle.active).length && !!$(#navbar.active).length) { $(.navbar-toggle).removeClass(active); $(#navbar).removeClass(active); } } function resetHeight() { $(.additional-content-item).each(function(i, e) { $(e).find(.item-body).height(); }); }; function setMaxHeight(items) { $(items).each(function(i, e) { $(e).find(.item-body).height(calculateMaxHeight); }); }; function calculateMaxHeight() { var whyChoseUsItems ; $(.additional-content-item).each(function(i, e) { whyChoseUsItems.push($(e).find(.item-body).height()); }); return Math.max.apply(Math, whyChoseUsItems); }; function scrollSpyInit() { $(body).css(position, relative); $(body).attr(data-spy, scroll); $(.page-sub-menu .navbar-nav).attr(data-offset, 185); $(href#Schaeffer-Funeral-Home).css(display, block); $(body).scrollspy({ target: .page-sub-menu, offset: 185 }); } function DailySubscribeInit() { $(.dailySubsControls button).click(function() { subscribeToDailyEmails(this, 57608572-1901-4839-9de5-49db7c65ca0c, /FunHelper/SubscribeToDailyEmails); }); } function sendGTMInfo(category, action, label) { dataLayer.push({ event: gaEvent, category: category, action: action, label: label }); } /script> script typeapplication/ld+json> { @context: https://schema.org, @type: BreadcrumbList, name: Site Navigation, itemListElement: { @type: ListItem, position: 1, item: https://www.schaefferfunerals.com, name: Home }, { @type: ListItem, position: 2, item: https://www.schaefferfunerals.com/obituaries/obituary-listings, name: Obituaries }, { @type: ListItem, position: 3, item: https://www.schaefferfunerals.com/services/overview, name: Services }, { @type: ListItem, position: 4, item: https://www.schaefferfunerals.com/plan-ahead/overview, name: Plan Ahead }, { @type: ListItem, position: 5, item: https://www.schaefferfunerals.com/grief-support/overview, name: Grief Support }, { @type: ListItem, position: 6, item: https://www.schaefferfunerals.com/resources/overview, name: Resources }, { @type: ListItem, position: 7, item: https://www.schaefferfunerals.com/about-us/overview, name: About Us }, { @type: ListItem, position: 8, item: https://www.schaefferfunerals.com/contact/contact-us, name: Contact } } /script> script typeapplication/ld+json> { @context: https://schema.org, @type: LocalBusiness, name: Schaeffer Funeral Home, address: { @type: PostalAddress, addressCountry: United States, addressLocality: Lehighton, addressRegion: PA, postalCode: 18235, streetAddress: 300 Alum Street }, telephone: (610) 377-1020, image: https://d1cq4ou4t4y4do.cloudfront.net/images/no-logo-image.png, geo: { @type: GeoCoordinates, latitude: 40.8296180000000000, longitude: -75.7120300000000300 } } /script> script> function loadScript(src, callback) { let script document.createElement(script); script.src src; script.onload () > callback(null, script); script.onerror () > callback(new Error(Script load error for + src)); document.head.append(script); } (function () { var wf document.createElement(script); wf.src (https: document.location.protocol ? https : http) + ://ajax.googleapis.com/ajax/libs/webfont/1/webfont.js; wf.type text/javascript; wf.async true; var s document.getElementsByTagName(script)0; s.parentNode.insertBefore(wf, s); var galleriaItem document.getElementsByClassName(galleria); if (galleriaItem.length ! 0) { loadScript(https://cdnjs.cloudflare.com/ajax/libs/galleria/1.6.1/galleria.min.js, function (error, script) { if (error) { // handle error } else { Galleria.loadTheme(https://cdnjs.cloudflare.com/ajax/libs/galleria/1.6.1/themes/classic/galleria.classic.min.js); Galleria.run(.galleria); } }); } })(); const locationIdValue Home Page Obituary ? window.API.domainId.replace(/-/g, ) + (window.MaterialData && window.MaterialData.pageSettings ? - + window.MaterialData.pageSettings.ServingLocationId : ) : window.API.domainId.replace(/-/g, ) + -518924; window.pushSessionInfo(window.getGAuuid()); pushSiteInfo( window.API.domainId.replace(/-/g, ), locationIdValue, Funeral Home, window.API.brand.name, Responsive, External, Home Page, Other, Schaeffer Funeral Home, Teleflora.replace(Frazer Floral Network, FFN), Title:NotEdited|Desc:NotEdited, bbe5ca7f-e160-47d8-9245-ec4c75824f0e ); // Travel Insurance link function utf8Encode(string) { const encoder new TextEncoder() return encoder.encode(lid + string) } function base64Encode(uint8Array) { uint8Array utf8Encode(uint8Array) return btoa(String.fromCharCode.apply(null, uint8Array)) } function replaceDomainIdToEncodedLid (id) { var button document.getElementById(travelInsuranceLink); if (button && button.href) { button.href button.href.replace({{DOMAINLID}}, base64Encode(id)); } } // Travel Insurance link change parameter document.addEventListener(DOMContentLoaded, function () { replaceDomainIdToEncodedLid(57608572-1901-4839-9de5-49db7c65ca0c); }); /script> style typetext/css> #msie-banner { position: fixed; top: 0; left: 0; width: 100%; padding: 19px; z-index: 43; font-size: 16px; font-weight: 700; letter-spacing: .5px; color: #fff; background-color: #d86a6a; text-align: center; } #msie-banner p { margin: 0; } #msie-banner a { color: #fff; } /style> div idmsie-banner styledisplay:none;> p>Your browser may not work with certain site. a hrefhttps://www.microsoft.com/edge>Upgrade now./a>/p> /div> script> // Cant find variable: _AutofillCallbackHandler fix window._AutofillCallbackHandler window._AutofillCallbackHandler || function () { } /script> /body>/html>
View on OTX
|
View on ThreatMiner
Please enable JavaScript to view the
comments powered by Disqus.
Data with thanks to
AlienVault OTX
,
VirusTotal
,
Malwr
and
others
. [
Sitemap
]