Help
RSS
API
Feed
Maltego
Contact
Domain > www.traditioncremation.com
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2023-08-28
34.204.162.106
(
ClassC
)
2024-11-06
44.198.138.149
(
ClassC
)
Port 80
HTTP/1.1 301 Moved PermanentlyDate: Wed, 06 Nov 2024 02:41:29 GMTContent-Type: text/html; charsetutf-8Content-Length: 152Connection: keep-aliveSet-Cookie: AWSALBMz4FXUA25wiljwLk7lv/xE8yO012r+g/+M+PNZflOX6FfKDSuw+fLQ70Flj17BQgWVMc1VHQnyFOtpkQwJwsY2FG2UMT6Ob4iV88I1+h8oFSxDbafvCmrjqyEdIN; ExpiresWed, 13 Nov 2024 02:41:29 GMT; Path/Set-Cookie: AWSALBCORSMz4FXUA25wiljwLk7lv/xE8yO012r+g/+M+PNZflOX6FfKDSuw+fLQ70Flj17BQgWVMc1VHQnyFOtpkQwJwsY2FG2UMT6Ob4iV88I1+h8oFSxDbafvCmrjqyEdIN; ExpiresWed, 13 Nov 2024 02:41:29 GMT; Path/; SameSiteNoneCache-Control: private, no-cacheSet-Cookie, stale-while-revalidate60, stale-if-error86400Location: https://www.traditioncremation.com/Server: Microsoft-IIS/10.0X-Powered-By: ASP.NET html>head>title>Object moved/title>/head>body>h2>Object moved to a hrefhttps://www.traditioncremation.com/>here/a>./h2>/body>/html>
Port 443
HTTP/1.1 200 OKDate: Wed, 06 Nov 2024 02:41:29 GMTContent-Type: text/html; charsetutf-8Content-Length: 220956Connection: keep-aliveSet-Cookie: AWSALBOFWJ7eHoFq/Ym+C7P1akY0e/U6a45kSOjhr6SYxtFUXZmu+OcqLOanMmP0sBQzHOZuX+UuHwv/5bsrocSKPyXeE6p2octua7R+n8KDmpZrSqnCO+PU11boAFqAs9; ExpiresWed, 13 Nov 2024 02:41:29 GMT; Path/Set-Cookie: AWSALBCORSOFWJ7eHoFq/Ym+C7P1akY0e/U6a45kSOjhr6SYxtFUXZmu+OcqLOanMmP0sBQzHOZuX+UuHwv/5bsrocSKPyXeE6p2octua7R+n8KDmpZrSqnCO+PU11boAFqAs9; ExpiresWed, 13 Nov 2024 02:41:29 GMT; Path/; SameSiteNone; SecureCache-Control: public, no-cacheSet-Cookie, stale-while-revalidate60, stale-if-error86400, max-age30Expires: Wed, 06 Nov 2024 02:41:59 GMTLast-Modified: Wed, 06 Nov 2024 02:41:29 GMTVary: *Server: Microsoft-IIS/10.0X-AspNetMvc-Version: 5.2X-AspNet-Version: 4.0.30319X-Powered-By: ASP.NET !DOCTYPE html>html xmlnshttps://www.w3.org/1999/xhtml dirltr langen-US xmlns:fbhttps://www.facebook.com/2008/fbml classjulio>head> meta charsetutf-8 /> meta nameformat-detection contenttelephoneno /> meta http-equivX-UA-Compatible contentIEedge>script typetext/javascript>window.NREUM||(NREUM{});NREUM.info {beacon:bam.nr-data.net,errorBeacon:bam.nr-data.net,licenseKey:NRJS-aa09c362d4e8d43900e,applicationID:1286138286,transactionName:MV1QZkFVChJUAENdDAgXf2RwGzEMVxFWVwwlV1xGQVsIDVARGH0NAl1K,queueTime:0,applicationTime:202,agent:,atts:}/script>script typetext/javascript>(window.NREUM||(NREUM{})).init{privacy:{cookies_enabled:true},ajax:{deny_list:bam.nr-data.net},distributed_tracing:{enabled:true}};(window.NREUM||(NREUM{})).loader_config{agentID:1286138370,accountID:3087713,trustKey:3080060,xpid:VwYPVlFSCxABVllUBgIPVFwH,licenseKey:NRJS-aa09c362d4e8d43900e,applicationID:1286138286};;/*! For license information please see nr-loader-spa-1.271.0.min.js.LICENSE.txt */(()>{var e,t,r{8122:(e,t,r)>{use strict;r.d(t,{a:()>i});var nr(944);function i(e,t){try{if(!e||object!typeof e)return(0,n.R)(3);if(!t||object!typeof t)return(0,n.R)(4);const rObject.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),o0Object.keys(r).length?e:r;for(let a in o)if(void 0!ea)try{if(nullea){ranull;continue}Array.isArray(ea)&&Array.isArray(ta)?raArray.from(new Set(...ea,...ta)):objecttypeof ea&&objecttypeof ta?rai(ea,ta):raea}catch(e){(0,n.R)(1,e)}return r}catch(e){(0,n.R)(2,e)}}},2555:(e,t,r)>{use strict;r.d(t,{Vp:()>c,fn:()>s,x1:()>u});var nr(384),ir(8122);const o{beacon:n.NT.beacon,errorBeacon:n.NT.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0},a{};function s(e){try{const tc(e);return!!t.licenseKey&&!!t.errorBeacon&&!!t.applicationID}catch(e){return!1}}function c(e){if(!e)throw new Error(All info objects require an agent identifier!);if(!ae)throw new Error(Info for .concat(e, was never set));return ae}function u(e,t){if(!e)throw new Error(All info objects require an agent identifier!);ae(0,i.a)(t,o);const r(0,n.nY)(e);r&&(r.infoae)}},9417:(e,t,r)>{use strict;r.d(t,{D0:()>h,gD:()>g,xN:()>p});var nr(993);const ie>{if(!e||string!typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var or(2614),ar(944),sr(384),cr(8122);const udata-nr-mask,d()>{const e{mask_selector:*,block_selector:data-nr-block,mask_input_options:{color:!1,date:!1,datetime-local:!1,email:!1,month:!1,number:!1,range:!1,search:!1,tel:!1,text:!1,time:!1,url:!1,week:!1,textarea:!1,select:!1,password:!0}};return{ajax:{deny_list:void 0,block_internal:!0,enabled:!0,harvestTimeSeconds:10,autoStart:!0},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},feature_flags:,generic_events:{enabled:!0,harvestTimeSeconds:30,autoStart:!0},harvest:{tooManyRequestsDelay:60},jserrors:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},logging:{enabled:!0,harvestTimeSeconds:10,autoStart:!0,level:n.p_.INFO},metrics:{enabled:!0,autoStart:!0},obfuscate:void 0,page_action:{enabled:!0},user_actions:{enabled:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,harvestTimeSeconds:30,autoStart:!0},privacy:{cookies_enabled:!0},proxy:{assets:void 0,beacon:void 0},session:{expiresMs:o.wk,inactiveMs:o.BB},session_replay:{autoStart:!0,enabled:!1,harvestTimeSeconds:60,preload:!1,sampling_rate:10,error_sampling_rate:100,collect_fonts:!1,inline_images:!1,fix_stylesheets:!0,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){i(t)?e.mask_selector.concat(t,,).concat(u):t||nullt?e.mask_selectoru:(0,a.R)(5,t)},get block_class(){returnnr-block},get ignore_class(){returnnr-ignore},get mask_text_class(){returnnr-mask},get block_selector(){return e.block_selector},set block_selector(t){i(t)?e.block_selector+,.concat(t):!t&&(0,a.R)(6,t)},get mask_input_options(){return e.mask_input_options},set mask_input_options(t){t&&objecttypeof t?e.mask_input_options{...t,password:!0}:(0,a.R)(7,t)}},session_trace:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},soft_navigations:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},spa:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},ssl:void 0}},l{},fAll configuration objects require an agent identifier!;function h(e){if(!e)throw new Error(f);if(!le)throw new Error(Configuration for .concat(e, was never set));return le}function p(e,t){if(!e)throw new Error(f);le(0,c.a)(t,d());const r(0,s.nY)(e);r&&(r.initle)}function g(e,t){if(!e)throw new Error(f);var rh(e);if(r){for(var nt.split(.),i0;in.length-1;i++)if(object!typeof(rrni))return;rrnn.length-1}return r}},5603:(e,t,r)>{use strict;r.d(t,{a:()>c,o:()>s});var nr(384),ir(8122);const o{accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0},a{};function s(e){if(!e)throw new Error(All loader-config objects require an agent identifier!);if(!ae)throw new Error(LoaderConfig for .concat(e, was never set));return ae}function c(e,t){if(!e)throw new Error(All loader-config objects require an agent identifier!);ae(0,i.a)(t,o);const r(0,n.nY)(e);r&&(r.loader_configae)}},3371:(e,t,r)>{use strict;r.d(t,{V:()>f,f:()>l});var nr(8122),ir(384),or(6154),ar(9324);let s0;const c{buildEnv:a.F3,distMethod:a.Xs,version:a.xv,originTime:o.WN},u{customTransaction:void 0,disabled:!1,isolatedBacklog:!1,loaderType:void 0,maxBytes:3e4,onerror:void 0,ptid:void 0,releaseIds:{},appMetadata:{},session:void 0,denyList:void 0,timeKeeper:void 0,obfuscator:void 0},d{};function l(e){if(!e)throw new Error(All runtime objects require an agent identifier!);if(!de)throw new Error(Runtime for .concat(e, was never set));return de}function f(e,t){if(!e)throw new Error(All runtime objects require an agent identifier!);de{...(0,n.a)(t,u),...c},Object.hasOwnProperty.call(de,harvestCount)||Object.defineProperty(de,harvestCount,{get:()>++s});const r(0,i.nY)(e);r&&(r.runtimede)}},9324:(e,t,r)>{use strict;r.d(t,{F3:()>i,Xs:()>o,Yq:()>a,xv:()>n});const n1.271.0,iPROD,oCDN,a2.0.0-alpha.12},6154:(e,t,r)>{use strict;r.d(t,{A4:()>s,OF:()>d,RI:()>i,WN:()>h,bv:()>o,gm:()>a,lR:()>f,m:()>u,mw:()>c,sb:()>l});var nr(1863);const iundefined!typeof window&&!!window.document,oundefined!typeof WorkerGlobalScope&&(undefined!typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||undefined!typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),ai?window:undefined!typeof WorkerGlobalScope&&(undefined!typeof self&&self instanceof WorkerGlobalScope&&self||undefined!typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),scompletea?.document?.readyState,cBoolean(hiddena?.document?.visibilityState),u+a?.location,d/iPad|iPhone|iPod/.test(a.navigator?.userAgent),ld&&undefinedtypeof SharedWorker,f(()>{const ea.navigator?.userAgent?.match(/Firefox/\s(\d+\.\d+)/);return Array.isArray(e)&&e.length>2?+e1:0})(),hDate.now()-(0,n.t)()},7295:(e,t,r)>{use strict;r.d(t,{Xv:()>a,gX:()>i,iW:()>o});var n;function i(e){if(!e||o(e))return!1;if(0n.length)return!0;for(var t0;tn.length;t++){var rnt;if(*r.hostname)return!1;if(s(r.hostname,e.hostname)&&c(r.pathname,e.pathname))return!1}return!0}function o(e){return void 0e.hostname}function a(e){if(n,e&&e.length)for(var t0;te.length;t++){let ret;if(!r)continue;0r.indexOf(http://)?rr.substring(7):0r.indexOf(https://)&&(rr.substring(8));const ir.indexOf(/);let o,a;i>0?(or.substring(0,i),ar.substring(i)):(or,a);letso.split(:);n.push({hostname:s,pathname:a})}}function s(e,t){return!(e.length>t.length)&&t.indexOf(e)t.length-e.length}function c(e,t){return 0e.indexOf(/)&&(ee.substring(1)),0t.indexOf(/)&&(tt.substring(1)),e||et}},1687:(e,t,r)>{use strict;r.d(t,{Ak:()>c,Ze:()>l,x3:()>u});var nr(7836),ir(3606),or(860),ar(2646);const s{};function c(e,t){const r{staged:!1,priority:o.Pt||0};d(e),se.get(t)||se.set(t,r)}function u(e,t){e&&se&&(se.get(t)&&se.delete(t),h(e,t,!1),se.size&&f(e))}function d(e){if(!e)throw new Error(agentIdentifier required);se||(senew Map)}function l(e,tfeature,r!1){if(d(e),!e||!se.get(t)||r)return h(e,t);se.get(t).staged!0,f(e)}function f(e){const tArray.from(se);t.every(((e,t)>t.staged))&&(t.sort(((e,t)>e1.priority-t1.priority)),t.forEach(((t)>{se.delete(t),h(e,t)})))}function h(e,t,r!0){const oe?n.ee.get(e):n.ee,si.i.handlers;if(!o.aborted&&o.backlog&&s){if(r){const eo.backlogt,rst;if(r){for(let t0;e&&te.length;++t)p(et,r);Object.entries(r).forEach(((e,t)>{Object.values(t||{}).forEach((t>{t0?.on&&t0?.context()instanceof a.y&&t0.on(e,t1)}))}))}}o.isolatedBacklog||delete st,o.backlogtnull,o.emit(drain-+t,)}}function p(e,t){var re1;Object.values(tr||{}).forEach((t>{var re0;if(t0r){var nt1,ie3,oe2;n.apply(i,o)}}))}},7836:(e,t,r)>{use strict;r.d(t,{P:()>c,ee:()>u});var nr(384),ir(8990),or(3371),ar(2646),sr(5607);const cnr@context:.concat(s.W),ufunction e(t,r){var n{},s{},d{},l!1;try{l16r.length&&(0,o.f)(r).isolatedBacklog}catch(e){}var f{on:p,addEventListener:p,removeEventListener:function(e,t){var rne;if(!r)return;for(var i0;ir.length;i++)rit&&r.splice(i,1)},emit:function(e,r,n,i,o){!1!o&&(o!0);if(u.aborted&&!i)return;t&&o&&t.emit(e,r,n);for(var ah(n),cg(e),dc.length,l0;ld;l++)cl.apply(a,r);var pv()se;p&&p.push(f,e,r,a);return a},get:m,listeners:g,context:h,buffer:function(e,t){const rv();if(tt||feature,f.aborted)return;Object.entries(e||{}).forEach(((e,n)>{snt,t in r||(rt)}))},abort:function(){f._aborted!0,Object.keys(f.backlog).forEach((e>{delete f.backloge}))},isBuffering:function(e){return!!v()se},debugId:r,backlog:l?{}:t&&objecttypeof t.backlog?t.backlog:{},isolatedBacklog:l};return Object.defineProperty(f,aborted,{get:()>{let ef._aborted||!1;return e||(t&&(et.aborted),e)}}),f;function h(e){return e&&e instanceof a.y?e:e?(0,i.I)(e,c,(()>new a.y(c))):new a.y(c)}function p(e,t){neg(e).concat(t)}function g(e){return ne||}function m(t){return dtdt||e(f,t)}function v(){return f.backlog}}(void 0,globalEE),d(0,n.Zm)();d.ee||(d.eeu)},2646:(e,t,r)>{use strict;r.d(t,{y:()>n});class n{constructor(e){this.contextIde}}},9908:(e,t,r)>{use strict;r.d(t,{d:()>n,p:()>i});var nr(7836).ee.get(handle);function i(e,t,r,i,o){o?(o.buffer(e,i),o.emit(e,t,r)):(n.buffer(e,i),n.emit(e,t,r))}},3606:(e,t,r)>{use strict;r.d(t,{i:()>o});var nr(9908);o.ona;var io.handlers{};function o(e,t,r,o){a(o||n.d,i,e,t,r)}function a(e,t,r,i,o){o||(ofeature),e||(en.d);var atoto||{};(arar||).push(e,i)}},3878:(e,t,r)>{use strict;function n(e,t){return{capture:e,passive:!1,signal:t}}function i(e,t,r!1,i){window.addEventListener(e,t,n(r,i))}function o(e,t,r!1,i){document.addEventListener(e,t,n(r,i))}r.d(t,{DD:()>o,jT:()>n,sp:()>i})},5607:(e,t,r)>{use strict;r.d(t,{W:()>n});const n(0,r(9566).bz)()},9566:(e,t,r)>{use strict;r.d(t,{LA:()>s,ZF:()>c,bz:()>a,el:()>u});var nr(6154);const ixxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx;function o(e,t){return e?15&et:16*Math.random()|0}function a(){const en.gm?.crypto||n.gm?.msCrypto;let t,r0;return e&&e.getRandomValues&&(te.getRandomValues(new Uint8Array(30))),i.split().map((e>xe?o(t,r++).toString(16):ye?(3&o()|8).toString(16):e)).join()}function s(e){const tn.gm?.crypto||n.gm?.msCrypto;let r,i0;t&&t.getRandomValues&&(rt.getRandomValues(new Uint8Array(e)));const a;for(var s0;se;s++)a.push(o(r,i++).toString(16));return a.join()}function c(){return s(16)}function u(){return s(32)}},2614:(e,t,r)>{use strict;r.d(t,{BB:()>a,H3:()>n,g:()>u,iL:()>c,tS:()>s,uh:()>i,wk:()>o});const nNRBA,iSESSION,o144e5,a18e5,s{STARTED:session-started,PAUSE:session-pause,RESET:session-reset,RESUME:session-resume,UPDATE:session-update},c{SAME_TAB:same-tab,CROSS_TAB:cross-tab},u{OFF:0,FULL:1,ERROR:2}},1863:(e,t,r)>{use strict;function n(){return Math.floor(performance.now())}r.d(t,{t:()>n})},7485:(e,t,r)>{use strict;r.d(t,{D:()>i});var nr(6154);function i(e){if(0(e||).indexOf(data:))return{protocol:data};try{const tnew URL(e,location.href),r{port:t.port,hostname:t.hostname,pathname:t.pathname,search:t.search,protocol:t.protocol.slice(0,t.protocol.indexOf(:)),sameOrigin:t.protocoln.gm?.location?.protocol&&t.hostn.gm?.location?.host};return r.port&&!r.port||(http:t.protocol&&(r.port80),https:t.protocol&&(r.port443)),r.pathname&&!r.pathname?r.pathname.startsWith(/)||(r.pathname/.concat(r.pathname)):r.pathname/,r}catch(e){return{}}}},944:(e,t,r)>{use strict;function n(e,t){functiontypeof console.debug&&console.debug(New Relic Warning: https://github.com/newrelic/newrelic-browser-agent/blob/main/docs/warning-codes.md#.concat(e),t)}r.d(t,{R:()>n})},5284:(e,t,r)>{use strict;r.d(t,{t:()>c,B:()>s});var nr(7836),ir(6154);const onewrelic;const anew Set,s{};function c(e,t){const rn.ee.get(t);st??{},e&&objecttypeof e&&(a.has(t)||(r.emit(rumresp,e),ste,a.add(t),function(e{}){try{i.gm.dispatchEvent(new CustomEvent(o,{detail:e}))}catch(e){}}({loaded:!0})))}},8990:(e,t,r)>{use strict;r.d(t,{I:()>i});var nObject.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return et;var ir();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return eti,i}},6389:(e,t,r)>{use strict;function n(e,t500,r{}){const nr?.leading||!1;let i;return(...r)>{n&&void 0i&&(e.apply(this,r),isetTimeout((()>{iclearTimeout(i)}),t)),n||(clearTimeout(i),isetTimeout((()>{e.apply(this,r)}),t))}}function i(e){let t!1;return(...r)>{t||(t!0,e.apply(this,r))}}r.d(t,{J:()>i,s:()>n})},3304:(e,t,r)>{use strict;r.d(t,{A:()>o});var nr(7836);const i()>{const enew WeakSet;return(t,r)>{if(objecttypeof r&&null!r){if(e.has(r))return;e.add(r)}return r}};function o(e){try{return JSON.stringify(e,i())??}catch(e){try{n.ee.emit(internal-error,e)}catch(e){}return}}},5289:(e,t,r)>{use strict;r.d(t,{GG:()>o,sB:()>a});var nr(3878);function i(){returnundefinedtypeof document||completedocument.readyState}function o(e,t){if(i())return e();(0,n.sp)(load,e,t)}function a(e){if(i())return e();(0,n.DD)(DOMContentLoaded,e)}},384:(e,t,r)>{use strict;r.d(t,{NT:()>o,US:()>d,Zm:()>a,bQ:()>c,dV:()>s,nY:()>u,pV:()>l});var nr(6154),ir(1863);const o{beacon:bam.nr-data.net,errorBeacon:bam.nr-data.net};function a(){return n.gm.NREUM||(n.gm.NREUM{}),void 0n.gm.newrelic&&(n.gm.newrelicn.gm.NREUM),n.gm.NREUM}function s(){let ea();return e.o||(e.o{ST:n.gm.setTimeout,SI:n.gm.setImmediate,CT:n.gm.clearTimeout,XHR:n.gm.XMLHttpRequest,REQ:n.gm.Request,EV:n.gm.Event,PR:n.gm.Promise,MO:n.gm.MutationObserver,FETCH:n.gm.fetch,WS:n.gm.WebSocket}),e}function c(e,t){let ra();r.initializedAgents??{},t.initializedAt{ms:(0,i.t)(),date:new Date},r.initializedAgentset}function u(e){let ta();return t.initializedAgents?.e}function d(e,t){a()et}function l(){return function(){let ea();const te.info||{};e.info{beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let ea();const te.init||{};e.init{...t}}(),s(),function(){let ea();const te.loader_config||{};e.loader_config{...t}}(),a()}},2843:(e,t,r)>{use strict;r.d(t,{u:()>i});var nr(3878);function i(e,t!1,r,i){(0,n.DD)(visibilitychange,(function(){if(t)return void(hiddendocument.visibilityState&&e());e(document.visibilityState)}),r,i)}},8139:(e,t,r)>{use strict;r.d(t,{u:()>f});var nr(7836),ir(3434),or(8990),ar(6154);const s{},ca.gm.XMLHttpRequest,uaddEventListener,dremoveEventListener,lnr@wrapped:.concat(n.P);function f(e){var tfunction(e){return(e||n.ee).get(events)}(e);if(st.debugId++)return t;st.debugId1;var r(0,i.YM)(t,!0);function f(e){r.inPlace(e,u,d,-,p)}function p(e,t){return e1}returngetPrototypeOfin Object&&(a.RI&&h(document,f),h(a.gm,f),h(c.prototype,f)),t.on(u+-start,(function(e,t){var ne1;if(null!n&&(functiontypeof n||objecttypeof n)){var i(0,o.I)(n,l,(function(){var e{object:function(){if(function!typeof n.handleEvent)return;return n.handleEvent.apply(n,arguments)},function:n}typeof n;return e?r(e,fn-,null,e.name||anonymous):n}));this.wrappede1i}})),t.on(d+-start,(function(e){e1this.wrapped||e1})),t}function h(e,t,...r){let ne;for(;objecttypeof n&&!Object.prototype.hasOwnProperty.call(n,u);)nObject.getPrototypeOf(n);n&&t(n,...r)}},3434:(e,t,r)>{use strict;r.d(t,{Jt:()>o,YM:()>c});var nr(7836),ir(5607);const onr@original:.concat(i.W);var aObject.prototype.hasOwnProperty,s!1;function c(e,t){return e||(en.ee),r.inPlacefunction(e,t,n,i,o){n||(n);const a-n.charAt(0);for(let s0;st.length;s++){const cts,uec;d(u)||(ecr(u,a?c+n:n,i,c,o))}},r.flago,r;function r(t,r,n,s,c){return d(t)?t:(r||(r),nrWrapperot,function(e,t,r){if(Object.defineProperty&&Object.keys)try{return Object.keys(e).forEach((function(r){Object.defineProperty(t,r,{get:function(){return er},set:function(t){return ert,t}})})),t}catch(e){u(e,r)}for(var n in e)a.call(e,n)&&(tnen)}(t,nrWrapper,e),nrWrapper);function nrWrapper(){var o,a,d,l;try{athis,o...arguments,dfunctiontypeof n?n(o,a):n||{}}catch(t){u(t,,o,a,s,d,e)}i(r+start,o,a,s,d,c);try{return lt.apply(a,o)}catch(e){throw i(r+err,o,a,e,d,c),e}finally{i(r+end,o,a,l,d,c)}}}function i(r,n,i,o){if(!s||t){var as;s!0;try{e.emit(r,n,i,t,o)}catch(t){u(t,r,n,i,e)}sa}}}function u(e,t){t||(tn.ee);try{t.emit(internal-error,e)}catch(e){}}function d(e){return!(e&&functiontypeof e&&e.apply&&!eo)}},9300:(e,t,r)>{use strict;r.d(t,{T:()>n});const nr(860).K.ajax},3333:(e,t,r)>{use strict;r.d(t,{TZ:()>n,Zp:()>i,mq:()>s,nf:()>a,qN:()>o});const nr(860).K.genericEvents,iauxclick,click,copy,keydown,paste,scrollend,ofocus,blur,a4,s1e3},6774:(e,t,r)>{use strict;r.d(t,{T:()>n});const nr(860).K.jserrors},993:(e,t,r)>{use strict;r.d(t,{ET:()>o,TZ:()>a,p_:()>i});var nr(860);const i{ERROR:ERROR,WARN:WARN,INFO:INFO,DEBUG:DEBUG,TRACE:TRACE},olog,an.K.logging},3785:(e,t,r)>{use strict;r.d(t,{R:()>c,b:()>u});var nr(9908),ir(1863),or(860),ar(3969),sr(993);function c(e,t,r{},cs.p_.INFO){(0,n.p)(a.xV,API/logging/.concat(c.toLowerCase(),/called),void 0,o.K.metrics,e),(0,n.p)(s.ET,(0,i.t)(),t,r,c,void 0,o.K.logging,e)}function u(e){returnstringtypeof e&&Object.values(s.p_).some((t>te.toUpperCase().trim()))}},3969:(e,t,r)>{use strict;r.d(t,{TZ:()>n,XG:()>s,rs:()>i,xV:()>a,z_:()>o});const nr(860).K.metrics,ism,ocm,astoreSupportabilityMetrics,sstoreEventMetrics},6630:(e,t,r)>{use strict;r.d(t,{T:()>n});const nr(860).K.pageViewEvent},782:(e,t,r)>{use strict;r.d(t,{T:()>n});const nr(860).K.pageViewTiming},6344:(e,t,r)>{use strict;r.d(t,{BB:()>d,G4:()>o,Qb:()>l,TZ:()>i,Ug:()>a,_s:()>s,bc:()>u,yP:()>c});var nr(2614);const ir(860).K.sessionReplay,o{RECORD:recordReplay,PAUSE:pauseReplay,REPLAY_RUNNING:replayRunning,ERROR_DURING_REPLAY:errorDuringReplay},a.12,s{DomContentLoaded:0,Load:1,FullSnapshot:2,IncrementalSnapshot:3,Meta:4,Custom:5},c{n.g.ERROR:15e3,n.g.FULL:3e5,n.g.OFF:0},u{RESET:{message:Session was reset,sm:Reset},IMPORT:{message:Recorder failed to import,sm:Import},TOO_MANY:{message:429: Too Many Requests,sm:Too-Many},TOO_BIG:{message:Payload was too large,sm:Too-Big},CROSS_TAB:{message:Session Entity was set to OFF on another tab,sm:Cross-Tab},ENTITLEMENTS:{message:Session Replay is not allowed and will not be started,sm:Entitlement}},d5e3,l{API:api}},5270:(e,t,r)>{use strict;r.d(t,{Aw:()>c,CT:()>u,SR:()>s});var nr(384),ir(9417),or(7767),ar(6154);function s(e){return!!(0,n.dV)().o.MO&&(0,o.V)(e)&&!0(0,i.gD)(e,session_trace.enabled)}function c(e){return!0(0,i.gD)(e,session_replay.preload)&&s(e)}function u(e,t){const rt.correctAbsoluteTimestamp(e);return{originalTimestamp:e,correctedTimestamp:r,timestampDiff:e-r,originTime:a.WN,correctedOriginTime:t.correctedOriginTime,originTimeDiff:Math.floor(a.WN-t.correctedOriginTime)}}},3738:(e,t,r)>{use strict;r.d(t,{He:()>i,Kp:()>s,Lc:()>u,Rz:()>d,TZ:()>n,bD:()>o,d3:()>a,jx:()>l,uP:()>c});const nr(860).K.sessionTrace,ibstResource,oresource,a-start,s-end,cfn+a,ufn+s,dpushState,l1e3},3962:(e,t,r)>{use strict;r.d(t,{AM:()>o,O2:()>s,Qu:()>c,TZ:()>a,ih:()>u,tC:()>i});var nr(860);const iclick,keydown,submit,oapi,an.K.softNav,s{INITIAL_PAGE_LOAD:,ROUTE_CHANGE:1,UNSPECIFIED:2},c{INTERACTION:1,AJAX:2,CUSTOM_END:3,CUSTOM_TRACER:4},u{IP:in progress,FIN:finished,CAN:cancelled}},7378:(e,t,r)>{use strict;r.d(t,{$p:()>x,BR:()>b,Kp:()>R,L3:()>y,Lc:()>c,NC:()>o,SG:()>d,TZ:()>i,U6:()>p,UT:()>m,d3:()>w,dT:()>f,e5:()>A,gx:()>v,l9:()>l,oW:()>h,op:()>g,rw:()>u,tH:()>E,uP:()>s,wW:()>T,xq:()>a});var nr(384);const ir(860).K.spa,oclick,submit,keypress,keydown,keyup,change,a999,sfn-start,cfn-end,ucb-start,dapi-ixn-,lremaining,finteraction,hspaNode,pjsonpNode,gfetch-start,mfetch-done,vfetch-body-,bjsonp-end,y(0,n.dV)().o.ST,w-start,R-end,x-body,Tcb+R,AjsTime,Efetch},4234:(e,t,r)>{use strict;r.d(t,{W:()>o});var nr(7836),ir(1687);class o{constructor(e,t){this.agentIdentifiere,this.een.ee.get(e),this.featureNamet,this.blocked!1}deregisterDrain(){(0,i.x3)(this.agentIdentifier,this.featureName)}}},7767:(e,t,r)>{use strict;r.d(t,{V:()>o});var nr(9417),ir(6154);const oe>i.RI&&!0(0,n.gD)(e,privacy.cookies_enabled)},425:(e,t,r)>{use strict;r.d(t,{j:()>j});var nr(860),ir(2555),or(3371),ar(9908),sr(7836),cr(1687),ur(5289),dr(6154),lr(944),fr(3969),hr(384),pr(6344);const gsetErrorHandler,finished,addToTrace,addRelease,addPageAction,setCurrentRouteName,setPageViewName,setCustomAttribute,interaction,noticeError,setUserId,setApplicationVersion,start,p.G4.RECORD,p.G4.PAUSE,log,wrapLogger,msetErrorHandler,finished,addToTrace,addRelease;var vr(1863),br(2614),yr(993),wr(3785),Rr(2646),xr(3434);function T(e,t,r,n){if(object!typeof t||!t||string!typeof r||!r||function!typeof tr)return(0,l.R)(29);const ifunction(e){return(e||s.ee).get(logger)}(e),o(0,x.YM)(i),anew R.y(s.P);return a.leveln.level,a.customAttributesn.customAttributes,o.inPlace(t,r,wrap-logger-,a),i}function A(){const e(0,h.pV)();g.forEach((t>{et(...r)>function(t,...r){let n;return Object.values(e.initializedAgents).forEach((e>{e&&e.api?e.exposed&&e.apit&&n.push(e.apit(...r)):(0,l.R)(38,t)})),n.length>1?n:n0}(t,...r)}))}const E{};var Sr(9417),Nr(5603),Or(5284);const Ie>{const te.startsWith(http);e+/,r.pt?e:https://+e};let _!1;function j(e,t{},g,R){let{init:x,info:j,loader_config:P,runtime:C{},exposed:k!0}t;C.loaderTypeg;const L(0,h.pV)();j||(xL.init,jL.info,PL.loader_config),(0,S.xN)(e.agentIdentifier,x||{}),(0,N.a)(e.agentIdentifier,P||{}),j.jsAttributes??{},d.bv&&(j.jsAttributes.isWorker!0),(0,i.x1)(e.agentIdentifier,j);const H(0,S.D0)(e.agentIdentifier),Dj.beacon,j.errorBeacon;_||(H.proxy.assets&&(I(H.proxy.assets),D.push(H.proxy.assets)),H.proxy.beacon&&D.push(H.proxy.beacon),A(),(0,h.US)(activatedFeatures,O.B),e.runSoftNavOverSpa&&!0H.soft_navigations.enabled&&H.feature_flags.includes(soft_nav)),C.denyList...H.ajax.deny_list||,...H.ajax.block_internal?D:,C.ptide.agentIdentifier,(0,o.V)(e.agentIdentifier,C),e.ees.ee.get(e.agentIdentifier),void 0e.api&&(e.apifunction(e,t,h!1){t||(0,c.Ak)(e,api);const g{};var Rs.ee.get(e),xR.get(tracer);Eeb.g.OFF,R.on(p.G4.REPLAY_RUNNING,(t>{Eet}));var Aapi-,SA+ixn-;function N(t,r,n,o){const a(0,i.Vp)(e);return nullr?delete a.jsAttributest:(0,i.x1)(e,{...a,jsAttributes:{...a.jsAttributes,t:r}}),_(A,n,!0,o||nullr?session:void 0)(t,r)}function O(){}g.logfunction(e,{customAttributes:t{},level:ry.p_.INFO}{}){(0,a.p)(f.xV,API/log/called,void 0,n.K.metrics,R),(0,w.R)(R,e,t,r)},g.wrapLogger(e,t,{customAttributes:r{},level:iy.p_.INFO}{})>{(0,a.p)(f.xV,API/wrapLogger/called,void 0,n.K.metrics,R),T(R,e,t,{customAttributes:r,level:i})},m.forEach((e>{ge_(A,e,!0,api)})),g.addPageAction_(A,addPageAction,!0,n.K.genericEvents),g.setPageViewNamefunction(t,r){if(stringtypeof t)return/!t.charAt(0)&&(t/+t),(0,o.f)(e).customTransaction(r||http://custom.transaction)+t,_(A,setPageViewName,!0)()},g.setCustomAttributefunction(e,t,r!1){if(stringtypeof e){if(string,number,boolean.includes(typeof t)||nullt)return N(e,t,setCustomAttribute,r);(0,l.R)(40,typeof t)}else(0,l.R)(39,typeof e)},g.setUserIdfunction(e){if(stringtypeof e||nulle)return N(enduser.id,e,setUserId,!0);(0,l.R)(41,typeof e)},g.setApplicationVersionfunction(e){if(stringtypeof e||nulle)return N(application.version,e,setApplicationVersion,!1);(0,l.R)(42,typeof e)},g.start()>{try{(0,a.p)(f.xV,API/start/called,void 0,n.K.metrics,R),R.emit(manual-start-all)}catch(e){(0,l.R)(23,e)}},gp.G4.RECORDfunction(){(0,a.p)(f.xV,API/recordReplay/called,void 0,n.K.metrics,R),(0,a.p)(p.G4.RECORD,,void 0,n.K.sessionReplay,R)},gp.G4.PAUSEfunction(){(0,a.p)(f.xV,API/pauseReplay/called,void 0,n.K.metrics,R),(0,a.p)(p.G4.PAUSE,,void 0,n.K.sessionReplay,R)},g.interactionfunction(e){return(new O).get(objecttypeof e?e:{})};const IO.prototype{createTracer:function(e,t){var r{},ithis,ofunctiontypeof t;return(0,a.p)(f.xV,API/createTracer/called,void 0,n.K.metrics,R),h||(0,a.p)(S+tracer,(0,v.t)(),e,r,i,n.K.spa,R),function(){if(x.emit((o?:no-)+fn-start,(0,v.t)(),i,o,r),o)try{return t.apply(this,arguments)}catch(e){const tstringtypeof e?new Error(e):e;throw x.emit(fn-err,arguments,this,t,r),t}finally{x.emit(fn-end,(0,v.t)(),r)}}}};function _(e,t,r,i){return function(){return(0,a.p)(f.xV,API/+t+/called,void 0,n.K.metrics,R),i&&(0,a.p)(e+t,(0,v.t)(),...arguments,r?null:this,i,R),r?void 0:this}}function j(){r.e(478).then(r.bind(r,8778)).then((({setAPI:t})>{t(e),(0,c.Ze)(e,api)})).catch((e>{(0,l.R)(27,e),R.abort()}))}returnactionText,setName,setAttribute,save,ignore,onEnd,getContext,end,get.forEach((e>{Ie_(S,e,void 0,h?n.K.softNav:n.K.spa)})),g.setCurrentRouteNameh?_(S,routeName,void 0,n.K.softNav):_(A,routeName,!0,n.K.spa),g.noticeErrorfunction(t,r){stringtypeof t&&(tnew Error(t)),(0,a.p)(f.xV,API/noticeError/called,void 0,n.K.metrics,R),(0,a.p)(err,t,(0,v.t)(),!1,r,!!Ee,void 0,n.K.jserrors,R)},d.RI?(0,u.GG)((()>j()),!0):j(),g}(e.agentIdentifier,R,e.runSoftNavOverSpa)),void 0e.exposed&&(e.exposedk),_!0}},8374:(e,t,r)>{r.nc(()>{try{return document?.currentScript?.nonce}catch(e){}return})()},860:(e,t,r)>{use strict;r.d(t,{K:()>n,P:()>i});const n{ajax:ajax,genericEvents:generic_events,jserrors:jserrors,logging:logging,metrics:metrics,pageAction:page_action,pageViewEvent:page_view_event,pageViewTiming:page_view_timing,sessionReplay:session_replay,sessionTrace:session_trace,softNav:soft_navigations,spa:spa},i{n.pageViewEvent:1,n.pageViewTiming:2,n.metrics:3,n.jserrors:4,n.spa:5,n.ajax:6,n.sessionTrace:7,n.softNav:8,n.sessionReplay:9,n.logging:10,n.genericEvents:11}}},n{};function i(e){var tne;if(void 0!t)return t.exports;var one{exports:{}};return re(o,o.exports,i),o.exports}i.mr,i.d(e,t)>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:tr})},i.f{},i.ee>Promise.all(Object.keys(i.f).reduce(((t,r)>(i.fr(e,t),t)),)),i.ue>({212:nr-spa-compressor,249:nr-spa-recorder,478:nr-spa}e+-1.271.0.min.js),i.o(e,t)>Object.prototype.hasOwnProperty.call(e,t),e{},tNRBA-1.271.0.PROD:,i.l(r,n,o,a)>{if(er)er.push(n);else{var s,c;if(void 0!o)for(var udocument.getElementsByTagName(script),d0;du.length;d++){var lud;if(l.getAttribute(src)r||l.getAttribute(data-webpack)t+o){sl;break}}if(!s){c!0;var f{478:sha512-Ju42UKn3bed+LffSzRHB8eYie0+biqRzN7k8HHw2TRTLGeoFxsvOa56QdvzNHoF3m0+rq5TyW6FCkg7QyLWd9g,249:sha512-MF9h/cTFIEQE9X72v8MxkXraxwTipoKap/TxXV5L5lsTx9c5YgSNfyFlEXl1lktyx7CAGvwFbSGNK0SJj4mlDw,212:sha512-OIG474PJEDkknZqm52iQ9BencLstvJ6kSCLi+ZxjbMB15iAx3XyQwzc1zmr6Fz+aWuEnZD/s3zqe8O09v3nLvg};(sdocument.createElement(script)).charsetutf-8,s.timeout120,i.nc&&s.setAttribute(nonce,i.nc),s.setAttribute(data-webpack,t+o),s.srcr,0!s.src.indexOf(window.location.origin+/)&&(s.crossOriginanonymous),fa&&(s.integrityfa)}ern;var h(t,n)>{s.onerrors.onloadnull,clearTimeout(p);var ier;if(delete er,s.parentNode&&s.parentNode.removeChild(s),i&&i.forEach((e>e(n))),t)return t(n)},psetTimeout(h.bind(null,void 0,{type:timeout,target:s}),12e4);s.onerrorh.bind(null,s.onerror),s.onloadh.bind(null,s.onload),c&&document.head.appendChild(s)}},i.re>{undefined!typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:Module}),Object.defineProperty(e,__esModule,{value:!0})},i.phttps://js-agent.newrelic.com/,(()>{var e{38:0,788:0};i.f.j(t,r)>{var ni.o(e,t)?et:void 0;if(0!n)if(n)r.push(n2);else{var onew Promise(((r,i)>netr,i));r.push(n2o);var ai.p+i.u(t),snew Error;i.l(a,(r>{if(i.o(e,t)&&(0!(net)&&(etvoid 0),n)){var or&&(loadr.type?missing:r.type),ar&&r.target&&r.target.src;s.messageLoading chunk +t+ failed.\n(+o+: +a+),s.nameChunkLoadError,s.typeo,s.requesta,n1(s)}}),chunk-+t,t)}};var t(t,r)>{var n,o,a,s,cr,u0;if(a.some((t>0!et))){for(n in s)i.o(s,n)&&(i.mnsn);if(c)c(i)}for(t&&t(r);ua.length;u++)oau,i.o(e,o)&&eo&&eo0(),eo0},rselfwebpackChunk:NRBA-1.271.0.PRODselfwebpackChunk:NRBA-1.271.0.PROD||;r.forEach(t.bind(null,0)),r.pusht.bind(null,r.push.bind(r))})(),(()>{use strict;i(8374);var ei(944),ti(6344),ri(9566);class n{agentIdentifier;constructor(e(0,r.LA)(16)){this.agentIdentifiere}#e(t,...r){if(functiontypeof this.api?.t)return this.apit(...r);(0,e.R)(35,t)}addPageAction(e,t){return this.#e(addPageAction,e,t)}setPageViewName(e,t){return this.#e(setPageViewName,e,t)}setCustomAttribute(e,t,r){return this.#e(setCustomAttribute,e,t,r)}noticeError(e,t){return this.#e(noticeError,e,t)}setUserId(e){return this.#e(setUserId,e)}setApplicationVersion(e){return this.#e(setApplicationVersion,e)}setErrorHandler(e){return this.#e(setErrorHandler,e)}finished(e){return this.#e(finished,e)}addRelease(e,t){return this.#e(addRelease,e,t)}start(e){return this.#e(start,e)}recordReplay(){return this.#e(t.G4.RECORD)}pauseReplay(){return this.#e(t.G4.PAUSE)}addToTrace(e){return this.#e(addToTrace,e)}setCurrentRouteName(e){return this.#e(setCurrentRouteName,e)}interaction(){return this.#e(interaction)}log(e,t){return this.#e(log,e,t)}wrapLogger(e,t,r){return this.#e(wrapLogger,e,t,r)}}var oi(860),ai(9417);const sObject.values(o.K);function c(e){const t{};return s.forEach((r>{trfunction(e,t){return!0(0,a.gD)(t,.concat(e,.enabled))}(r,e)})),t}var ui(425);var di(1687),li(4234),fi(5289),hi(6154),pi(5270),gi(7767),mi(6389);class v extends l.W{constructor(e,t,r!0){super(e.agentIdentifier,t),this.autor,this.abortHandlervoid 0,this.featAggregatevoid 0,this.onAggregateImportedvoid 0,!1e.initthis.featureName.autoStart&&(this.auto!1),this.auto?(0,d.Ak)(e.agentIdentifier,t):this.ee.on(manual-start-all,(0,m.J)((()>{(0,d.Ak)(e.agentIdentifier,this.featureName),this.auto!0,this.importAggregator(e)})))}importAggregator(t,r{}){if(this.featAggregate||!this.auto)return;let n;this.onAggregateImportednew Promise((e>{ne}));const aasync()>{let a;try{if((0,g.V)(this.agentIdentifier)){const{setupAgentSession:e}await i.e(478).then(i.bind(i,6526));ae(this.agentIdentifier)}}catch(t){(0,e.R)(20,t),this.ee.emit(internal-error,t),this.featureNameo.K.sessionReplay&&this.abortHandler?.()}try{if(t.sharedAggregator)await t.sharedAggregator;else{t.sharedAggregatori.e(478).then(i.bind(i,5987));const{Aggregator:e}await t.sharedAggregator;t.sharedAggregatornew e}if(!this.#t(this.featureName,a))return(0,d.Ze)(this.agentIdentifier,this.featureName),void n(!1);const{lazyFeatureLoader:e}await i.e(478).then(i.bind(i,6103)),{Aggregate:o}await e(this.featureName,aggregate);this.featAggregatenew o(t,r),n(!0)}catch(t){(0,e.R)(34,t),this.abortHandler?.(),(0,d.Ze)(this.agentIdentifier,this.featureName,!0),n(!1),this.ee&&this.ee.abort()}};h.RI?(0,f.GG)((()>a()),!0):a()}#t(e,t){switch(e){case o.K.sessionReplay:return(0,p.SR)(this.agentIdentifier)&&!!t;case o.K.sessionTrace:return!!t;default:return!0}}}var bi(6630);class y extends v{static featureNameb.T;constructor(e,t!0){super(e,b.T,t),this.importAggregator(e)}}var wi(384);var Ri(9908),xi(2843),Ti(3878),Ai(782),Ei(1863);class S extends v{static featureNameA.T;constructor(e,t!0){super(e,A.T,t),h.RI&&((0,x.u)((()>(0,R.p)(docHidden,(0,E.t)(),void 0,A.T,this.ee)),!0),(0,T.sp)(pagehide,(()>(0,R.p)(winPagehide,(0,E.t)(),void 0,A.T,this.ee))),this.importAggregator(e))}}var Ni(3969);class O extends v{static featureNameN.TZ;constructor(e,t!0){super(e,N.TZ,t),this.importAggregator(e)}}var Ii(6774),_i(3304);class j{constructor(e,t,r,n,i){this.nameUncaughtError,this.messagestringtypeof e?e:(0,_.A)(e),this.sourceURLt,this.liner,this.columnn,this.__newrelici}}function P(e){return L(e)?e:new j(void 0!e?.message?e.message:e,e?.filename||e?.sourceURL,e?.lineno||e?.line,e?.colno||e?.col,e?.__newrelic)}function C(e){const tUnhandled Promise Rejection;if(!e?.reason)return;if(L(e.reason))try{return e.reason.messaget+: +e.reason.message,P(e.reason)}catch(t){return P(e.reason)}const rP(e.reason);return r.messaget+: +r?.message,r}function k(e){if(e.error instanceof SyntaxError&&!/:\d+$/.test(e.error.stack?.trim())){const tnew j(e.message,e.filename,e.lineno,e.colno,e.error.__newrelic);return t.nameSyntaxError.name,t}return L(e.error)?e.error:P(e)}function L(e){return e instanceof Error&&!!e.stack}class H extends v{static featureNameI.T;#r!1;constructor(e,r!0){super(e,I.T,r);try{this.removeOnAbortnew AbortController}catch(e){}this.ee.on(internal-error,(e>{this.abortHandler&&(0,R.p)(ierr,P(e),(0,E.t)(),!0,{},this.#r,void 0,this.featureName,this.ee)})),this.ee.on(t.G4.REPLAY_RUNNING,(e>{this.#re})),h.gm.addEventListener(unhandledrejection,(e>{this.abortHandler&&(0,R.p)(err,C(e),(0,E.t)(),!1,{unhandledPromiseRejection:1},this.#r,void 0,this.featureName,this.ee)}),(0,T.jT)(!1,this.removeOnAbort?.signal)),h.gm.addEventListener(error,(e>{this.abortHandler&&(0,R.p)(err,k(e),(0,E.t)(),!1,{},this.#r,void 0,this.featureName,this.ee)}),(0,T.jT)(!1,this.removeOnAbort?.signal)),this.abortHandlerthis.#n,this.importAggregator(e)}#n(){this.removeOnAbort?.abort(),this.abortHandlervoid 0}}var Di(8990);let M1;const Knr@id;function U(e){const ttypeof e;return!e||object!t&&function!t?-1:eh.gm?0:(0,D.I)(e,K,(function(){return M++}))}function V(e){if(stringtypeof e&&e.length)return e.length;if(objecttypeof e){if(undefined!typeof ArrayBuffer&&e instanceof ArrayBuffer&&e.byteLength)return e.byteLength;if(undefined!typeof Blob&&e instanceof Blob&&e.size)return e.size;if(!(undefined!typeof FormData&&e instanceof FormData))try{return(0,_.A)(e).length}catch(e){return}}}var Gi(8139),Fi(7836),Bi(3434);const W{},zopen,send;function q(t){var rt||F.ee;const nfunction(e){return(e||F.ee).get(xhr)}(r);if(Wn.debugId++)return n;Wn.debugId1,(0,G.u)(r);var i(0,B.YM)(n),oh.gm.XMLHttpRequest,ah.gm.MutationObserver,sh.gm.Promise,ch.gm.setInterval,ureadystatechange,donload,onerror,onabort,onloadstart,onloadend,onprogress,ontimeout,l,fh.gm.XMLHttpRequestfunction(t){const rnew o(t),an.context(r);try{n.emit(new-xhr,r,a),r.addEventListener(u,(sa,function(){var ethis;e.readyState>3&&!s.resolved&&(s.resolved!0,n.emit(xhr-resolved,,e)),i.inPlace(e,d,fn-,y)}),(0,T.jT)(!1))}catch(t){(0,e.R)(15,t);try{n.emit(internal-error,t)}catch(e){}}var s;return r};function p(e,t){i.inPlace(t,onreadystatechange,fn-,y)}if(function(e,t){for(var r in e)trer}(o,f),f.prototypeo.prototype,i.inPlace(f.prototype,z,-xhr-,y),n.on(send-xhr-start,(function(e,t){p(e,t),function(e){l.push(e),a&&(g?g.then(b):c?c(b):(m-m,v.datam))}(t)})),n.on(open-xhr-start,p),a){var gs&&s.resolve();if(!c&&!s){var m1,vdocument.createTextNode(m);new a(b).observe(v,{characterData:!0})}}else r.on(fn-end,(function(e){e0&&e0.typeu||b()}));function b(){for(var e0;el.length;e++)p(0,le);l.length&&(l)}function y(e,t){return t}return n}var Zfetch-,YZ+body-,XarrayBuffer,blob,json,text,formData,Jh.gm.Request,Qh.gm.Response,eeprototype;const te{};function re(e){const tfunction(e){return(e||F.ee).get(fetch)}(e);if(!(J&&Q&&h.gm.fetch))return t;if(tet.debugId++)return t;function r(e,r,n){var ier;functiontypeof i&&(erfunction(){var e,r...arguments,o{};t.emit(n+before-start,r,o),oF.P&&oF.P.dt&&(eoF.P.dt);var ai.apply(this,r);return t.emit(n+start,r,e,a),a.then((function(e){return t.emit(n+end,null,e,a),e}),(function(e){throw t.emit(n+end,e,a),e}))})}return tet.debugId1,X.forEach((e>{r(Jee,e,Y),r(Qee,e,Y)})),r(h.gm,fetch,Z),t.on(Z+end,(function(e,r){var nthis;if(r){var ir.headers.get(content-length);null!i&&(n.rxSizei),t.emit(Z+done,null,r,n)}else t.emit(Z+done,e,n)})),t}var nei(7485),iei(5603);class oe{constructor(e){this.agentIdentifiere}generateTracePayload(e){if(!this.shouldGenerateTrace(e))return null;var t(0,ie.o)(this.agentIdentifier);if(!t)return null;var n(t.accountID||).toString()||null,i(t.agentID||).toString()||null,o(t.trustKey||).toString()||null;if(!n||!i)return null;var a(0,r.ZF)(),s(0,r.el)(),cDate.now(),u{spanId:a,traceId:s,timestamp:c};return(e.sameOrigin||this.isAllowedOrigin(e)&&this.useTraceContextHeadersForCors())&&(u.traceContextParentHeaderthis.generateTraceContextParentHeader(a,s),u.traceContextStateHeaderthis.generateTraceContextStateHeader(a,c,n,i,o)),(e.sameOrigin&&!this.excludeNewrelicHeader()||!e.sameOrigin&&this.isAllowedOrigin(e)&&this.useNewrelicHeaderForCors())&&(u.newrelicHeaderthis.generateTraceHeader(a,s,c,n,i,o)),u}generateTraceContextParentHeader(e,t){return00-+t+-+e+-01}generateTraceContextStateHeader(e,t,r,n,i){return i+@nr0-1-+r+-+n+-+e+----+t}generateTraceHeader(e,t,r,n,i,o){if(!(functiontypeof h.gm?.btoa))return null;var a{v:0,1,d:{ty:Browser,ac:n,ap:i,id:e,tr:t,ti:r}};return o&&n!o&&(a.d.tko),btoa((0,_.A)(a))}shouldGenerateTrace(e){return this.isDtEnabled()&&this.isAllowedOrigin(e)}isAllowedOrigin(e){var t!1,r{};if((0,a.gD)(this.agentIdentifier,distributed_tracing)&&(r(0,a.D0)(this.agentIdentifier).distributed_tracing),e.sameOrigin)t!0;else if(r.allowed_origins instanceof Array)for(var n0;nr.allowed_origins.length;n++){var i(0,ne.D)(r.allowed_originsn);if(e.hostnamei.hostname&&e.protocoli.protocol&&e.porti.port){t!0;break}}return t}isDtEnabled(){var e(0,a.gD)(this.agentIdentifier,distributed_tracing);return!!e&&!!e.enabled}excludeNewrelicHeader(){var e(0,a.gD)(this.agentIdentifier,distributed_tracing);return!!e&&!!e.exclude_newrelic_header}useNewrelicHeaderForCors(){var e(0,a.gD)(this.agentIdentifier,distributed_tracing);return!!e&&!1!e.cors_use_newrelic_header}useTraceContextHeadersForCors(){var e(0,a.gD)(this.agentIdentifier,distributed_tracing);return!!e&&!!e.cors_use_tracecontext_headers}}var aei(9300),sei(7295),ceload,error,abort,timeout,uece.length,de(0,w.dV)().o.REQ,le(0,w.dV)().o.XHR;class fe extends v{static featureNameae.T;constructor(e,t!0){super(e,ae.T,t),this.dtnew oe(e.agentIdentifier),this.handler(e,t,r,n)>(0,R.p)(e,t,r,n,this.ee);try{const e{xmlhttprequest:xhr,fetch:fetch,beacon:beacon};h.gm?.performance?.getEntriesByType(resource).forEach((t>{if(t.initiatorType in e&&0!t.responseStatus){const r{status:t.responseStatus},n{rxSize:t.transferSize,duration:Math.floor(t.duration),cbTime:0};he(r,t.name),this.handler(xhr,r,n,t.startTime,t.responseEnd,et.initiatorType,void 0,o.K.ajax)}}))}catch(e){}re(this.ee),q(this.ee),function(e,t,r,n){function i(e){var tthis;t.totalCbs0,t.called0,t.cbTime0,t.endx,t.ended!1,t.xhrGuids{},t.lastSizenull,t.loadCaptureCalled!1,t.paramsthis.params||{},t.metricsthis.metrics||{},e.addEventListener(load,(function(r){A(t,e)}),(0,T.jT)(!1)),h.lR||e.addEventListener(progress,(function(e){t.lastSizee.loaded}),(0,T.jT)(!1))}function a(e){this.params{method:e0},he(this,e1),this.metrics{}}function s(t,r){e.loader_config.xpid&&this.sameOrigin&&r.setRequestHeader(X-NewRelic-ID,e.loader_config.xpid);var in.generateTracePayload(this.parsedOrigin);if(i){var o!1;i.newrelicHeader&&(r.setRequestHeader(newrelic,i.newrelicHeader),o!0),i.traceContextParentHeader&&(r.setRequestHeader(traceparent,i.traceContextParentHeader),i.traceContextStateHeader&&r.setRequestHeader(tracestate,i.traceContextStateHeader),o!0),o&&(this.dti)}}function c(e,r){var nthis.metrics,ie0,othis;if(n&&i){var aV(i);a&&(n.txSizea)}this.startTime(0,E.t)(),this.bodyi,this.listenerfunction(e){try{abort!e.type||o.loadCaptureCalled||(o.params.aborted!0),(load!e.type||o.calledo.totalCbs&&(o.onloadCalled||function!typeof r.onload)&&functiontypeof o.end)&&o.end(r)}catch(e){try{t.emit(internal-error,e)}catch(e){}}};for(var s0;sue;s++)r.addEventListener(ces,this.listener,(0,T.jT)(!1))}function u(e,t,r){this.cbTime+e,t?this.onloadCalled!0:this.called+1,this.called!this.totalCbs||!this.onloadCalled&&functiontypeof r.onload||function!typeof this.end||this.end(r)}function d(e,t){var r+U(e)+!!t;this.xhrGuids&&!this.xhrGuidsr&&(this.xhrGuidsr!0,this.totalCbs+1)}function l(e,t){var r+U(e)+!!t;this.xhrGuids&&this.xhrGuidsr&&(delete this.xhrGuidsr,this.totalCbs-1)}function f(){this.endTime(0,E.t)()}function p(e,r){r instanceof le&&loade0&&t.emit(xhr-load-added,e1,e2,r)}function g(e,r){r instanceof le&&loade0&&t.emit(xhr-load-removed,e1,e2,r)}function m(e,t,r){t instanceof le&&(onloadr&&(this.onload!0),(load(e0&&e0.type)||this.onload)&&(this.xhrCbStart(0,E.t)()))}function v(e,r){this.xhrCbStart&&t.emit(xhr-cb-time,(0,E.t)()-this.xhrCbStart,this.onload,r,r)}function b(e){var t,re1||{};if(stringtypeof e0?0(te0).length&&h.RI&&(t+h.gm.location.href):e0&&e0.url?te0.url:h.gm?.URL&&e0&&e0instanceof URL?te0.href:functiontypeof e0.toString&&(te0.toString()),stringtypeof t&&0!t.length){t&&(this.parsedOrigin(0,ne.D)(t),this.sameOriginthis.parsedOrigin.sameOrigin);var in.generateTracePayload(this.parsedOrigin);if(i&&(i.newrelicHeader||i.traceContextParentHeader))if(e0&&e0.headers)s(e0.headers,i)&&(this.dti);else{var o{};for(var a in r)oara;o.headersnew Headers(r.headers||{}),s(o.headers,i)&&(this.dti),e.length>1?e1o:e.push(o)}}function s(e,t){var r!1;return t.newrelicHeader&&(e.set(newrelic,t.newrelicHeader),r!0),t.traceContextParentHeader&&(e.set(traceparent,t.traceContextParentHeader),t.traceContextStateHeader&&e.set(tracestate,t.traceContextStateHeader),r!0),r}}function y(e,t){this.params{},this.metrics{},this.startTime(0,E.t)(),this.dtt,e.length>1&&(this.targete0),e.length>2&&(this.optse1);var r,nthis.opts||{},ithis.target;stringtypeof i?ri:objecttypeof i&&i instanceof de?ri.url:h.gm?.URL&&objecttypeof i&&i instanceof URL&&(ri.href),he(this,r);var o(+(i&&i instanceof de&&i.method||n.method||GET)).toUpperCase();this.params.methodo,this.bodyn.body,this.txSizeV(n.body)||0}function w(e,t){if(this.endTime(0,E.t)(),this.params||(this.params{}),(0,se.iW)(this.params))return;let n;this.params.statust?t.status:0,stringtypeof this.rxSize&&this.rxSize.length>0&&(n+this.rxSize);const i{txSize:this.txSize,rxSize:n,duration:(0,E.t)()-this.startTime};r(xhr,this.params,i,this.startTime,this.endTime,fetch,this,o.K.ajax)}function x(e){const tthis.params,nthis.metrics;if(!this.ended){this.ended!0;for(let t0;tue;t++)e.removeEventListener(cet,this.listener,!1);t.aborted||(0,se.iW)(t)||(n.duration(0,E.t)()-this.startTime,this.loadCazptureCalled||4!e.readyState?nullt.status&&(t.status0):A(this,e),n.cbTimethis.cbTime,r(xhr,t,n,this.startTime,this.endTime,xhr,this,o.K.ajax))}}function A(e,r){e.params.statusr.status;var nfunction(e,t){var re.responseType;returnjsonr&&null!t?t:arraybufferr||blobr||jsonr?V(e.response):textr||r||void 0r?V(e.responseText):void 0}(r,e.lastSize);if(n&&(e.metrics.rxSizen),e.sameOrigin){var ir.getResponseHeader(X-NewRelic-App-Data);i&&((0,R.p)(N.rs,Ajax/CrossApplicationTracing/Header/Seen,void 0,o.K.metrics,t),e.params.cati.split(, ).pop())}e.loadCaptureCalled!0}t.on(new-xhr,i),t.on(open-xhr-start,a),t.on(open-xhr-end,s),t.on(send-xhr-start,c),t.on(xhr-cb-time,u),t.on(xhr-load-added,d),t.on(xhr-load-removed,l),t.on(xhr-resolved,f),t.on(addEventListener-end,p),t.on(removeEventListener-end,g),t.on(fn-end,v),t.on(fetch-before-start,b),t.on(fetch-start,y),t.on(fn-start,m),t.on(fetch-done,w)}(e,this.ee,this.handler,this.dt),this.importAggregator(e)}}function he(e,t){var r(0,ne.D)(t),ne.params||e;n.hostnamer.hostname,n.portr.port,n.protocolr.protocol,n.hostr.hostname+:+r.port,n.pathnamer.pathname,e.parsedOriginr,e.sameOriginr.sameOrigin}const pe{},gepushState,replaceState;function me(e){const tfunction(e){return(e||F.ee).get(history)}(e);return!h.RI||pet.debugId++||(pet.debugId1,(0,B.YM)(t).inPlace(window.history,ge,-)),t}var vei(3738);const{He:be,bD:ye,d3:we,Kp:Re,TZ:xe,Lc:Te,uP:Ae,Rz:Ee}ve;class Se extends v{static featureNamexe;constructor(e,t!0){super(e,xe,t);if(!(0,g.V)(this.agentIdentifier))return void this.deregisterDrain();const rthis.ee;let n;me(r),this.eventsEE(0,G.u)(r),this.eventsEE.on(Ae,(function(e,t){this.bstStart(0,E.t)()})),this.eventsEE.on(Te,(function(e,t){(0,R.p)(bst,e0,t,this.bstStart,(0,E.t)(),void 0,o.K.sessionTrace,r)})),r.on(Ee+we,(function(e){this.time(0,E.t)(),this.startPathlocation.pathname+location.hash})),r.on(Ee+Re,(function(e){(0,R.p)(bstHist,location.pathname+location.hash,this.startPath,this.time,void 0,o.K.sessionTrace,r)}));try{nnew PerformanceObserver((e>{const te.getEntries();(0,R.p)(be,t,void 0,o.K.sessionTrace,r)})),n.observe({type:ye,buffered:!0})}catch(e){}this.importAggregator(e,{resourceObserver:n})}}var Nei(2614);class Oe extends v{static featureNamet.TZ;#i;#o;constructor(e,r!0){let n;super(e,t.TZ,r),this.replayRunning!1,this.#oe;try{nJSON.parse(localStorage.getItem(.concat(Ne.H3,_).concat(Ne.uh)))}catch(e){}(0,p.SR)(e.agentIdentifier)&&this.ee.on(t.G4.RECORD,(()>this.#a())),this.#s(n)?(this.#in?.sessionReplayMode,this.#c()):this.importAggregator(e),this.ee.on(err,(e>{this.replayRunning&&(this.errorNoticed!0,(0,R.p)(t.G4.ERROR_DURING_REPLAY,e,void 0,this.featureName,this.ee))})),this.ee.on(t.G4.REPLAY_RUNNING,(e>{this.replayRunninge}))}#s(e){return e&&(e.sessionReplayModeNe.g.FULL||e.sessionReplayModeNe.g.ERROR)||(0,p.Aw)(this.agentIdentifier)}#u!1;async#c(e){if(!this.#u){this.#u!0;try{const{Recorder:t}await Promise.all(i.e(478),i.e(249)).then(i.bind(i,2496));this.recorder??new t({mode:this.#i,agentIdentifier:this.agentIdentifier,trigger:e,ee:this.ee}),this.recorder.startRecording(),this.abortHandlerthis.recorder.stopRecording}catch(e){}this.importAggregator(this.#o,{recorder:this.recorder,errorNoticed:this.errorNoticed})}}#a(){this.featAggregate?this.featAggregate.mode!Ne.g.FULL&&this.featAggregate.initializeRecording(Ne.g.FULL,!0):(this.#iNe.g.FULL,this.#c(t.Qb.API),this.recorder&&this.recorder.parent.mode!Ne.g.FULL&&(this.recorder.parent.modeNe.g.FULL,this.recorder.stopRecording(),this.recorder.startRecording(),this.abortHandlerthis.recorder.stopRecording))}}var Iei(3962);class _e extends v{static featureNameIe.TZ;constructor(e,t!0){if(super(e,Ie.TZ,t),!h.RI||!(0,w.dV)().o.MO)return;const rme(this.ee),n(0,G.u)(this.ee),i()>(0,R.p)(newURL,(0,E.t)(),+window.location,void 0,this.featureName,this.ee);r.on(pushState-end,i),r.on(replaceState-end,i);try{this.removeOnAbortnew AbortController}catch(e){}(0,T.sp)(popstate,(e>(0,R.p)(newURL,e.timeStamp,+window.location,void 0,this.featureName,this.ee)),!0,this.removeOnAbort?.signal);let o!1;const anew((0,w.dV)().o.MO)(((e,t)>{o||(o!0,requestAnimationFrame((()>{(0,R.p)(newDom,(0,E.t)(),void 0,this.featureName,this.ee),o!1})))})),s(0,m.s)((e>{(0,R.p)(newUIEvent,e,void 0,this.featureName,this.ee),a.observe(document.body,{attributes:!0,childList:!0,subtree:!0,characterData:!0})}),100,{leading:!0});n.on(fn-start,((e)>{Ie.tC.includes(e?.type)&&s(e)}));for(let e of Ie.tC)document.addEventListener(e,(()>{}));this.abortHandlerfunction(){this.removeOnAbort?.abort(),a.disconnect(),this.abortHandlervoid 0},this.importAggregator(e,{domObserver:a})}}var jei(7378);const Pe{},CeappendChild,insertBefore,replaceChild;function ke(e){const tfunction(e){return(e||F.ee).get(jsonp)}(e);if(!h.RI||Pet.debugId)return t;Pet.debugId!0;var r(0,B.YM)(t),n/?&(?:callback|cb)(^+)/,i/(.*)\.(^.+)/,o/^(\w+)(\.|$)(.*)$/;function a(e,t){if(!e)return t;const re.match(o),nr1;return a(r3,tn)}return r.inPlace(Node.prototype,Ce,dom-),t.on(dom-start,(function(e){!function(e){if(!e||string!typeof e.nodeName||script!e.nodeName.toLowerCase())return;if(function!typeof e.addEventListener)return;var o(se.src,cs.match(n),c?c1:null);var s,c;if(!o)return;var ufunction(e){var te.match(i);if(t&&t.length>3)return{key:t2,parent:a(t1,window)};return{key:e,parent:window}}(o);if(function!typeof u.parentu.key)return;var d{};function l(){t.emit(jsonp-end,,d),e.removeEventListener(load,l,(0,T.jT)(!1)),e.removeEventListener(error,f,(0,T.jT)(!1))}function f(){t.emit(jsonp-error,,d),t.emit(jsonp-end,,d),e.removeEventListener(load,l,(0,T.jT)(!1)),e.removeEventListener(error,f,(0,T.jT)(!1))}r.inPlace(u.parent,u.key,cb-,d),e.addEventListener(load,l,(0,T.jT)(!1)),e.addEventListener(error,f,(0,T.jT)(!1)),t.emit(new-jsonp,e.src,d)}(e0)})),t}const Le{};function He(e){const tfunction(e){return(e||F.ee).get(promise)}(e);if(Let.debugId)return t;Let.debugId!0;var rt.context,n(0,B.YM)(t),ih.gm.Promise;return i&&function(){function e(r){var ot.context(),an(r,executor-,o,null,!1);const sReflect.construct(i,a,e);return t.context(s).getCtxfunction(){return o},s}h.gm.Promisee,Object.defineProperty(e,name,{value:Promise}),e.toStringfunction(){return i.toString()},Object.setPrototypeOf(e,i),all,race.forEach((function(r){const nir;erfunction(e){let i!1;...e||.forEach((e>{this.resolve(e).then(a(allr),a(!1))}));const on.apply(this,arguments);return o;function a(e){return function(){t.emit(propagate,null,!i,o,!1,!1),ii||!e}}}})),resolve,reject.forEach((function(r){const nir;erfunction(e){const rn.apply(this,arguments);return e!r&&t.emit(propagate,e,!0,r,!1,!1),r}})),e.prototypei.prototype;const oi.prototype.then;i.prototype.thenfunction(...e){var ithis,ar(i);a.promisei,e0n(e0,cb-,a,null,!1),e1n(e1,cb-,a,null,!1);const so.apply(this,e);return a.nextPromises,t.emit(propagate,i,!0,s,!1,!1),s},i.prototype.thenB.Jto,t.on(executor-start,(function(e){e0n(e0,resolve-,this,null,!1),e1n(e1,resolve-,this,null,!1)})),t.on(executor-err,(function(e,t,r){e1(r)})),t.on(cb-end,(function(e,r,n){t.emit(propagate,n,!0,this.nextPromise,!1,!1)})),t.on(propagate,(function(e,r,n){this.getCtx&&!r||(this.getCtxfunction(){if(e instanceof Promise)var rt.context(e);return r&&r.getCtx?r.getCtx():this})}))}(),t}const De{},MesetTimeout,KesetInterval,UeclearTimeout,Ve-start,GeMe,setImmediate,Ke,Ue,clearImmediate;function Fe(e){const tfunction(e){return(e||F.ee).get(timer)}(e);if(Det.debugId++)return t;Det.debugId1;var r(0,B.YM)(t);return r.inPlace(h.gm,Ge.slice(0,2),Me+-),r.inPlace(h.gm,Ge.slice(2,3),Ke+-),r.inPlace(h.gm,Ge.slice(3),Ue+-),t.on(Ke+Ve,(function(e,t,n){e0r(e0,fn-,null,n)})),t.on(Me+Ve,(function(e,t,n){this.methodn,this.timerDurationisNaN(e1)?0:+e1,e0r(e0,fn-,this,n)})),t}const Be{};function We(e){const tfunction(e){return(e||F.ee).get(mutation)}(e);if(!h.RI||Bet.debugId)return t;Bet.debugId!0;var r(0,B.YM)(t),nh.gm.MutationObserver;return n&&(window.MutationObserverfunction(e){return this instanceof n?new n(r(e,fn-)):n.apply(this,arguments)},MutationObserver.prototypen.prototype),t}const{TZ:ze,d3:qe,Kp:Ze,$p:Ye,wW:Xe,e5:Je,tH:Qe,uP:$e,rw:et,Lc:tt}je;class rt extends v{static featureNameze;constructor(e,t!0){if(super(e,ze,t),!h.RI)return;try{this.removeOnAbortnew AbortController}catch(e){}let r,n0;const ithis.ee.get(tracer),oke(this.ee),aHe(this.ee),sFe(this.ee),cq(this.ee),uthis.ee.get(events),dre(this.ee),lme(this.ee),fWe(this.ee);function p(e,t){l.emit(newURL,+window.location,t)}function g(){n++,rwindow.location.hash,this$e(0,E.t)()}function m(){n--,window.location.hash!r&&p(0,!0);var e(0,E.t)();thisJe~~thisJe+e-this$e,thistte}function v(e,t){e.on(t,(function(){thist(0,E.t)()}))}this.ee.on($e,g),a.on(et,g),o.on(et,g),this.ee.on(tt,m),a.on(Xe,m),o.on(Xe,m),this.ee.on(fn-err,((...t)>{t2?.__newrelic?.e.agentIdentifier||(0,R.p)(function-err,...t,void 0,this.featureName,this.ee)})),this.ee.buffer($e,tt,xhr-resolved,this.featureName),u.buffer($e,this.featureName),s.buffer(setTimeout+Ze,clearTimeout+qe,$e,this.featureName),c.buffer($e,new-xhr,send-xhr+qe,this.featureName),d.buffer(Qe+qe,Qe+-done,Qe+Ye+qe,Qe+Ye+Ze,this.featureName),l.buffer(newURL,this.featureName),f.buffer($e,this.featureName),a.buffer(propagate,et,Xe,executor-err,resolve+qe,this.featureName),i.buffer($e,no-+$e,this.featureName),o.buffer(new-jsonp,cb-start,jsonp-error,jsonp-end,this.featureName),v(d,Qe+qe),v(d,Qe+-done),v(o,new-jsonp),v(o,jsonp-end),v(o,cb-start),l.on(pushState-end,p),l.on(replaceState-end,p),window.addEventListener(hashchange,p,(0,T.jT)(!0,this.removeOnAbort?.signal)),window.addEventListener(load,p,(0,T.jT)(!0,this.removeOnAbort?.signal)),window.addEventListener(popstate,(function(){p(0,n>1)}),(0,T.jT)(!0,this.removeOnAbort?.signal)),this.abortHandlerthis.#n,this.importAggregator(e)}#n(){this.removeOnAbort?.abort(),this.abortHandlervoid 0}}var nti(3333);class it extends v{static featureNament.TZ;constructor(e,t!0){super(e,nt.TZ,t);const re.init.page_action.enabled,e.init.user_actions.enabled;h.RI&&e.init.user_actions.enabled&&(nt.Zp.forEach((e>(0,T.sp)(e,(e>(0,R.p)(ua,e,void 0,this.featureName,this.ee)),!0))),nt.qN.forEach((e>(0,T.sp)(e,(e>(0,R.p)(ua,e,void 0,this.featureName,this.ee)))))),r.some((e>e))?this.importAggregator(e):this.deregisterDrain()}}var oti(993),ati(3785);class st extends v{static featureNameot.TZ;constructor(e,t!0){super(e,ot.TZ,t);const rthis.ee;this.ee.on(wrap-logger-end,(function(e){const{level:t,customAttributes:n}this;(0,at.R)(r,e,n,t)})),this.importAggregator(e)}}new class extends n{constructor(t,r){super(r),h.gm?(this.features{},(0,w.bQ)(this.agentIdentifier,this),this.desiredFeaturesnew Set(t.features||),this.desiredFeatures.add(y),this.runSoftNavOverSpa...this.desiredFeatures.some((e>e.featureNameo.K.softNav)),(0,u.j)(this,t,t.loaderType||agent),this.run()):(0,e.R)(21)}get config(){return{info:this.info,init:this.init,loader_config:this.loader_config,runtime:this.runtime}}run(){try{const tc(this.agentIdentifier),r...this.desiredFeatures;r.sort(((e,t)>o.Pe.featureName-o.Pt.featureName)),r.forEach((r>{if(!tr.featureName&&r.featureName!o.K.pageViewEvent)return;if(this.runSoftNavOverSpa&&r.featureNameo.K.spa)return;if(!this.runSoftNavOverSpa&&r.featureNameo.K.softNav)return;const nfunction(e){switch(e){case o.K.ajax:returno.K.jserrors;case o.K.sessionTrace:returno.K.ajax,o.K.pageViewEvent;case o.K.sessionReplay:returno.K.sessionTrace;case o.K.pageViewTiming:returno.K.pageViewEvent;default:return}}(r.featureName).filter((e>!(e in this.features)));n.length>0&&(0,e.R)(36,{targetFeature:r.featureName,missingDependencies:n}),this.featuresr.featureNamenew r(this)}))}catch(t){(0,e.R)(22,t);for(const e in this.features)this.featurese.abortHandler?.();const r(0,w.Zm)();delete r.initializedAgentsthis.agentIdentifier?.api,delete r.initializedAgentsthis.agentIdentifier?.features,delete this.sharedAggregator;return r.ee.get(this.agentIdentifier).abort(),!1}}}({features:fe,y,S,Se,Oe,O,H,it,st,_e,rt,loaderType:spa})})()})();/script> 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> !-- 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 --> !-- 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-59SF2QL9); /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) > { 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) } });}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 });}pushPageInfo (tcoObitId, brandObitId, obitDays, productsOffered, backgroundImage, profilePhoto, obitLength, funeralHomeGeo, countObitVideos, countTreePurchases, countFreeTrees, countFlowerPurchases, countDonations, countCharityDonations, obitCDays, obitHours, obitCreatedHour, pin, flag, fbPost, wallPostActions, obitPublishDate, storeName, deathNotice, donations) > { 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), ltPin: replaceUndefined(pin), ltFlag: replaceUndefined(flag), fbPost: replaceUndefined(fbPost), wallPostActions: replaceUndefined(wallPostActions), obitPublishDate: replaceUndefined(obitPublishDate), store: replaceUndefined(storeName), deathNotice: replaceUndefined(deathNotice), donations: replaceUndefined(donations) } });}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.getGaCookieSession (googleTageId) > { const regexCookie new RegExp(`(^| )${googleTageId}(^;+)`); const gaCookie document.cookie.match(regexCookie); if (!gaCookie) { return; } const cdxArr gaCookie2.split(.); return (cdxArr && cdxArr2) ? cdxArr2 : ; } 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 }, custom: { families: Linearicons, Linearicons-Free , urls: https://d1v2hfhsvnke6s.cloudfront.net/Content/Fonts/Linearicons/styles-custom.min.css, https://d1v2hfhsvnke6s.cloudfront.net/Content/Fonts/Linearicons-Free-v1.0.0/style.min.css } }; 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, ); /script> meta nameviewport contentwidthdevice-width, initial-scale1.0> link relshortcut icon hrefhttps://s3.amazonaws.com/fh-content/release/Content/Media/TraditionCremationCenter/favicon.ico typeimage/x-icon> title>Tradition Cremation Center | San Bernardino, CA Funeral H.../title>meta namedescription contentTradition Cremation Center in San Bernardino, CA provides funeral, memorial, aftercare, pre-planning, and cremation services to ou... Learn More />!-- Google tag (gtag.js) --> script async srchttps://www.googletagmanager.com/gtag/js?idG-8JB5QEBC1S>/script> script> window.dataLayer window.dataLayer || ; function gtag(){dataLayer.push(arguments);} gtag(js, new Date()); gtag(config, G-8JB5QEBC1S); /script>meta namegoogle-site-verification contentxkJT_WrXjtqqb_LJ2qRhiNAQnNuJFWw7QO8q5767CBY /> script typeapplication/ld+json> { @context: https://schema.org, @type: Organization, name: Tradition Cremation Center, url: https://www.traditioncremation.com, logo: https://www.traditioncremation.com/Content/Media/TraditionCremationCenter/logotraditioncremation_ceb5b335ffce49408a0209882a9be08a.png, contactPoint: { @type: ContactPoint, telephone: (909) 383-1560 } }, sameAs: https://www.facebook.com/TraditionCremationCenter/, https://www.twitter.com/, https://www.instagram.com/ } } /script> link hrefhttps://d2zeeo94hsmapq.cloudfront.net/release/themes/014ada0/Content/Themes/Shared/css/common.css typetext/css relstylesheet/>link hrefhttps://d2zeeo94hsmapq.cloudfront.net/release/themes/014ada0/Content/Themes/Shared/css/tribute-pay-panel.css typetext/css relstylesheet/>link hrefhttps://d2zeeo94hsmapq.cloudfront.net/release/themes/014ada0/Content/Themes/Shared/css/lightbox.css typetext/css relstylesheet/>link href/DependencyHandler.axd/2ea18e93d7b4278a63e09a302acc095a.513.css typetext/css relstylesheet/>link hrefhttps://d2zeeo94hsmapq.cloudfront.net/release/themes/014ada0/Content/Themes/Shared/css/rotatingBanner/rotating-banner.css typetext/css relstylesheet/>link href/DependencyHandler.axd/8577586dc142bd1cbb54c69235ec0888.513.css typetext/css relstylesheet/>link hrefhttps://d2zeeo94hsmapq.cloudfront.net/release/themes/014ada0/Content/Themes/Shared/css/obituaries-homepage.css typetext/css relstylesheet/>link href/DependencyHandler.axd/feeefa511254c061e8ad7d0fbd7de833.513.css typetext/css relstylesheet/>link hrefhttps://d2zeeo94hsmapq.cloudfront.net/release/themes/014ada0/Content/Themes/Shared/css/shared.css typetext/css relstylesheet/>link hrefhttps://d2zeeo94hsmapq.cloudfront.net/release/themes/014ada0/Content/Themes/Shared/css/fonts.css typetext/css relstylesheet/>link href/DependencyHandler.axd/0c28e5df75513ba69612ad23749e7fe0.513.css typetext/css relstylesheet/>link hrefhttps://d2zeeo94hsmapq.cloudfront.net/release/themes/014ada0/Content/Themes/Shared/css/DynamicForms.css typetext/css relstylesheet/>link href/DependencyHandler.axd/a60174700b00070b950b4c8a5318b20e.513.css typetext/css relstylesheet/>link hrefhttps://d1v2hfhsvnke6s.cloudfront.net/Content/Scripts/bootstrap-select/css/bootstrap-select.min.css typetext/css relstylesheet/> script src/Scripts/client.js typetext/javascript>/script> script src/DependencyHandler.axd/96f813911903e2a708b0b5087263cf04.513.js typetext/javascript>/script>script srchttps://d1v2hfhsvnke6s.cloudfront.net/Content/Scripts/bootstrap-select/js/bootstrap-select.min.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> script> setTimeout(function () { // TODO need to fix jquery loading bugs on IE if (document.getElementsByTagName(html)0.classList.contains(msie)) { document.getElementsByClassName(page-loader-wrapper)0.classList.remove(active); } }, 5000); /script> link hrefhttps://d2zeeo94hsmapq.cloudfront.net/release/themes/014ada0/Content/Themes/Julio/Tradition-Cremation/css/site.css relstylesheet typetext/css /> script async srchttps://www.googletagmanager.com/gtag/js?idUA-22842227-37>/script> script> window.dataLayer window.dataLayer || ; function gtag() { dataLayer.push(arguments); } gtag(js, new Date()); gtag(config, UA-22842227-37); /script> script typetext/javascript> window.aciveAnim true; (function () { window.API window.API || {}; API.domainId 75d666c2-4840-41cb-8b8b-8a55cdf9548c; 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.traditioncremation.com + API.tcoAppPath; API.tcoSecureBaseUrl https://www.traditioncremation.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}); API.moderatorName Tradition Cremation Center; API.xPending false; API.ajax function (httpMethod, controller, method, data, contentType, isApi, success, error) { 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); if (controller.toLowerCase() comments && method.toLowerCase() create) authCallback.showRelationship true; if (resp.type && resp.type 1) { error(User is blocked); } else if (Funeral.BeforePostData(authCallback)) { return authCallback(); } } 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 { DomainId: API.domainId }; 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) { return API.ajax(POST, controller, method, data, application/json, true, success, error); }; 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) --> !-- Google Tag Manager (noscript) --> noscript> iframe srchttps://www.googletagmanager.com/ns.html?idGTM-59SF2QL9 height0 width0 styledisplay:none;visibility:hidden>/iframe> /noscript> !-- End Google Tag Manager (noscript) --> header classsite-header main-header > div classcontainer-fluid> div classrow obituary-search-wrapper> div classcol-xs-12> div classform> div classsearch-wrap icon-search> label forsearch>Search obituaries…/label> div classclose-search>/div> input typetext idsearch placeholderName autocompleteoff aria-labelSearch Obituary> /div> /div> div classsearchResults row>/div> /div> div classsearchFog>/div> /div> div classvisible-xs visible-sm logo-mobile>a href/ aria-labelLink to Home page>img src/Content/Media/TraditionCremationCenter/logotraditioncremation_ceb5b335ffce49408a0209882a9be08a.png altsite logo classsite-logo />/a>/div> div classrow header-top-line> div classcol-xs-1 col-md-5 col-lg-5 left-panel> div classrow left-panel-wrapper> div classbtn btn-primary get-search-form> i classfa fa-search aria-hiddentrue>/i> span classhidden-xs hidden-sm>Search obituaries…/span> /div> a classnavbar-brand hidden-xs hidden-md hidden-lg href/ aria-labelLink to Home page>img src/Content/Media/TraditionCremationCenter/logotraditioncremation_ceb5b335ffce49408a0209882a9be08a.png altsite logo classsite-logo />/a> /div> /div> div classcol-xs-12 col-md-7 col-lg-7 text-right right-panel> div classrow> nav classsocials-wrapper hidden-sm hidden-xs> a target_blank relnoopener hrefhttps://www.facebook.com/TraditionCremationCenter/ classfab fa-facebook facebook aria-labelLink to Facebook page > /a> a target_blank relnoopener hrefhttps://www.twitter.com/ classfab fa-twitter twitter aria-labelLink to X > /a> a target_blank relnoopener hrefhttps://www.instagram.com/ classfab fa-pinterest-p aria-labelLink to pinterest page > /a> /nav> div classone-phone>a hreftel:9093831560>(909) 383-1560/a>/div> a classbtn btn-primary contact-btn animate hidden-sm hidden-xs href#home-contact-us-wrapper>Contact/a> /div> button typebutton classnavbar-toggle collapsed btn btn-primary hidden-md hidden-lg data-togglecollapse data-target#navbar aria-expandedfalse> span classsr-only>Toggle navigation/span> span classicon-bar>/span> span classicon-bar>/span> span classicon-bar>/span> /button> /div> /div>/div>script typetext/javascript> var closing_search_bar; $(document).ready(function () { $(function () { var phonesArr $(.phone-wrapper .text); var maxArr ; phonesArr.each(function () { var arr $(this).html().split( ); $(this).html(span classtext-location> + arr0 + /span>span classtext-number> + arr1 + /span>); maxArr.push($(this).html().length) }); var maxVal Math.max.apply(Math, maxArr) phonesArr.each(function (index) { if (index maxArr.indexOf(maxVal)) $(this).find(.text-number).css(float, none); }); // // Add nav-open class in body tag to indecate a nav openning status // $(body).click(function() { $(body).removeClass(nav-open); var btn $(.btn.dropdown-toggle); setTimeout(function() { if(btn.attr(aria-expanded) true) { $(body).addClass(nav-open); } }, 1); }); }); $(document).keyup(function(e) { if (e.keyCode 27) closeObituarySearch(); // esc }); function closeObituarySearch() { if (!!$(.obituary-search-wrapper.active).length) { $(.obituary-search-wrapper.active).removeClass(active); } $(#bs-fun-carousel).carousel({ pause: false }); $(body).removeClass(full-screen); } $(.close-search).on(click, closeObituarySearch ); $(.searchFog).on(click, closeObituarySearch ); $(a.animatehref^#).click(function () { $(.home-contact-us-wrapper).removeClass(obit-page); var id $(this).attr(href); $(html, body).animate({ scrollTop: $(id).offset().top }, 1000); }); // recent obituaries search $(.get-search-form).click(function () { $(#search).val(); $(#search).focus(); $(.searchResults).empty(); $(.obituary-search-wrapper).addClass(active); $(#bs-fun-carousel).carousel(pause); $(body).addClass(full-screen); }); $(function () { var $this this; this.search $(#search); 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 () { var searchContent $(.searchResults); searchContent.empty(); if ($this.search.val().trim().length 2) return; searchContent.show(); searchContent.addClass(searching); $.ajax({ type: GET, url: /FunHelper/Obituaries_QuickSearch, processData: true, contentType: application/json; charsetutf-8, data: { domainId: 75d666c2-4840-41cb-8b8b-8a55cdf9548c, text: $this.search.val(), pageSize: 5 }, dataType: text, success: function (json) { var obituaries eval(json); searchContent.removeClass(searching); if (obituaries.length > 0) { for (var i 0; i obituaries.length; i++) { var obituaryUrl /obituaries/ + obituariesi.fullName.urlifyString() + ?obId + obituariesi.id + #/obituaryInfo; var item a classrow item href + obituaryUrl + > + div classimg-wrapper> + img alt + obituariesi.fullName + classimg-responsive loadinglazy src + obituariesi.src + > + /div> + div classname-wrapper> + obituariesi.fullName + /div> + /a>; searchContent.prepend(item); } searchContent.append(a href/obituaries/obituary-listings classbtn btn-primary>View More/a>); } else { var item div classitem not-found>Sorry, no results — try using part of the name, like the first or last name. /div>a href/obituaries/obituary-listings classbtn btn-primary>View More/a>; searchContent.append(item); } } }); }, 300); }); } ); });/script> div classnavigation> ul idnavbar classhidden-sm hidden-xs nav navbar-nav collapse show-dropdown-menu-by-hover hide-arrows-in-dropdown-menu aria-expandedfalse styleheight: 0> li classlogo hidden-xs hidden-sm> a classnavbar-brand href/ aria-labelLink to Home page>img src/Content/Media/TraditionCremationCenter/logotraditioncremation_ceb5b335ffce49408a0209882a9be08a.png altsite logo classsite-logo />/a> /li> li class dynamic-menu> a href/obituaries/obituary-listings target_self> Obituaries /a> /li> li classdropdown dynamic-menu> a href# classdropdown-toggle data-toggledropdown rolebutton aria-haspopuptrue aria-expandedfalse>Pricing span classcaret>/span>/a> ul classdropdown-menu rolemenu aria-labelledbyddaction> li class> a href/pricing/cremation-pricing target_self>Cremation Pricing/a> /li> li class> a href/pricing/service-options target_self>Service Options/a> /li> li class> a href/pricing/cemetery-burial-options target_self>Cemetery Burial Options/a> /li> li class> a href/pricing/online-planner target_self>Online Planner/a> /li> li class> a href/pricing/where-to-begin target_self>Where to Begin/a> /li> /ul> /li> li classdropdown dynamic-menu> a href# classdropdown-toggle data-toggledropdown rolebutton aria-haspopuptrue aria-expandedfalse>Preplan span classcaret>/span>/a> ul classdropdown-menu rolemenu aria-labelledbyddaction> li class> a href/preplan/why-plan-ahead target_self>Why Plan Ahead/a> /li> li class> a href/preplan/preplanning-checklist target_self>Preplanning Checklist/a> /li> /ul> /li> li classdropdown dynamic-menu> a href# classdropdown-toggle data-toggledropdown rolebutton aria-haspopuptrue aria-expandedfalse>Caskets / Urns span classcaret>/span>/a> ul classdropdown-menu rolemenu aria-labelledbyddaction> li class> a href/caskets-urns/urns-keepsakes-and-jewelry target_self>Urns, Keepsakes, and Jewelry/a> /li> li class> a href/caskets-urns/caskets target_self>Caskets/a> /li> /ul> /li> li classdropdown dynamic-menu> a href# classdropdown-toggle data-toggledropdown rolebutton aria-haspopuptrue aria-expandedfalse>Who We Are span classcaret>/span>/a> ul classdropdown-menu rolemenu aria-labelledbyddaction> li class> a href/who-we-are/facilities target_self>Facilities/a> /li> li class> a href/who-we-are/testimonials target_self>Testimonials/a> /li> li class> a href/who-we-are/areas-we-serve target_self>Areas We Serve/a> /li> /ul> /li> li classdropdown dynamic-menu> a href# classdropdown-toggle data-toggledropdown rolebutton aria-haspopuptrue aria-expandedfalse>Contact span classcaret>/span>/a> ul classdropdown-menu rolemenu aria-labelledbyddaction> li class> a href/contact/contact-us target_self>Contact Us/a> /li> li class> a href/contact/payment-center target_self>Payment Center/a> /li> /ul> /li> /ul>/div>ul idmobile-navbar classnav navbar-nav collapse hidden-md hidden-lg classheight: 0; overflow: hidden;> li class> a href/obituaries/obituary-listings target_self> Obituaries /a> /li> li classdropdown > span classtouched-placeholder>Pricing/span> a href# classdropdown-toggle data-toggledropdown rolebutton aria-haspopuptrue aria-expandedfalse>Pricingspan classcaret>/span>/a> ul classdropdown-menu rolemenu aria-labelledbyddaction> li> a href/pricing/cremation-pricing target_self>Cremation Pricing/a> /li> li> a href/pricing/service-options target_self>Service Options/a> /li> li> a href/pricing/cemetery-burial-options target_self>Cemetery Burial Options/a> /li> li> a href/pricing/online-planner target_self>Online Planner/a> /li> li> a href/pricing/where-to-begin target_self>Where to Begin/a> /li> /ul> /li> li classdropdown > span classtouched-placeholder>Preplan/span> a href# classdropdown-toggle data-toggledropdown rolebutton aria-haspopuptrue aria-expandedfalse>Preplanspan classcaret>/span>/a> ul classdropdown-menu rolemenu aria-labelledbyddaction> li> a href/preplan/why-plan-ahead target_self>Why Plan Ahead/a> /li> li> a href/preplan/preplanning-checklist target_self>Preplanning Checklist/a> /li> /ul> /li> li classdropdown > span classtouched-placeholder>Caskets / Urns/span> a href# classdropdown-toggle data-toggledropdown rolebutton aria-haspopuptrue aria-expandedfalse>Caskets / Urnsspan classcaret>/span>/a> ul classdropdown-menu rolemenu aria-labelledbyddaction> li> a href/caskets-urns/urns-keepsakes-and-jewelry target_self>Urns, Keepsakes, and Jewelry/a> /li> li> a href/caskets-urns/caskets target_self>Caskets/a> /li> /ul> /li> li classdropdown > span classtouched-placeholder>Who We Are/span> a href# classdropdown-toggle data-toggledropdown rolebutton aria-haspopuptrue aria-expandedfalse>Who We Arespan classcaret>/span>/a> ul classdropdown-menu rolemenu aria-labelledbyddaction> li> a href/who-we-are/facilities target_self>Facilities/a> /li> li> a href/who-we-are/testimonials target_self>Testimonials/a> /li> li> a href/who-we-are/areas-we-serve target_self>Areas We Serve/a> /li> /ul> /li> li classdropdown > span classtouched-placeholder>Contact/span> a href# classdropdown-toggle data-toggledropdown rolebutton aria-haspopuptrue aria-expandedfalse>Contactspan classcaret>/span>/a> ul classdropdown-menu rolemenu aria-labelledbyddaction> li> a href/contact/contact-us target_self>Contact Us/a> /li> li> a href/contact/payment-center target_self>Payment Center/a> /li> /ul> /li> li classhr>/li> li> a href#home-contact-us-wrapper onClicktoogleMobileMenu(); aria-labelLink to contact form>Contact/a> /li> li classinline-block> a target_blank relnoopener hrefhttps://www.facebook.com/TraditionCremationCenter/ classfab fa-facebook facebook aria-labelLink to Facebook page > /a> /li> li classinline-block> a target_blank relnoopener hrefhttps://www.twitter.com/ classfab fa-twitter twitter aria-labelLink to Twitter page > /a> /li> li classinline-block> a target_blank relnoopener hrefhttps://www.instagram.com/ classfab fa-pinterest-p aria-labelLink to pinterest page > /a> /li>/ul>/header>main classclearfix homepage> div classmain-half> div classlayer-back-wraper> div classlayer-back> div idbs-fun-carousel classcarousel slide carousel-fade> !-- Indicators --> !-- Wrapper for slides --> div classcarousel-inner> div classitem active> img src//tributecenteronline.s3-accelerate.amazonaws.com/Media/Slides/9ac93d24-916c-41db-b815-c8bb49e18fd5.webp alt17703 loadinglazy> div classcontainer-fluid> div classrow> div classcarousel-caption carouselMiddle> h2>Remember Cherished Moments/h2> p>Commemorate the life of your loved one by remembering special moments that made them unique./p> a href/pricing/online-planner classbtn btn-primary>Start Arranging Now/a> /div> /div> /div> div classcarousel-alpha-overlay>/div> /div> /div>/div>script typetext/javascript> $(document).ready(function () { $(.layer-back video).prop(volume, 0); $(.layer-back video).click(function () { $(this)0.pause(); $(.videoPlayButton).removeClass(playing); }); $(.layer-back .videoPlayButton).click(function () { $(video)0.play(); $(this).addClass(playing); }); $(.layer-back video).on(ended, function () { $(this).load(); $(.videoPlayButton).removeClass(playing); }); $(.sound-button).click(function () { var video $(.layer-back video); if (video.prop(volume) 0) { video.prop(volume, 1); $(this).find(i).removeClass(fa-volume-off).addClass(fa-volume-up); } else { video.prop(volume, 0); $(this).find(i).removeClass(fa-volume-up).addClass(fa-volume-off); } }); $(.size-button).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); } }); //// video top banner with parallax $(window).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> $(document).ready(function() { $(#bs-fun-carousel).carousel(); }) /script> /div> /div> /div> div classmain-half> div classlayer-base> div classcontainer-fluid> div classrow> /div>/div>div classcontainer-fluid> div classrow intro-wrapper homepage-container> div classintro-item> div classrow stylebackground-color: #fff; border-radius: 10px; border: solid 1px #ccc; margin-bottom: 10px;>div classcol-xs-12 col-sm-12 col-md-12 title-price-button styleborder-radius: 10px; border-bottom: solid 1px #ccc; padding: 0;>div classcol-xs-12 col-sm-9 col-md-7 title>h2 stylecolor: #003451; margin-top: 20px; margin-bottom: 0;>Simple Cremation/h2>p stylecolor: #003451;>Includes all services for a standard cremation within the local area./p>/div>div classcol-xs-12 col-sm-3 col-md-5 price>h2 stylecolor: #333; text-align: right; font-size: 50px; margin-bottom: 0;>$1,298/h2>/div>div classcol-xs-12 col-sm-12 col-md-12 button stylepadding: 0;>p stylefloat: right; background-color: #03a3a8; padding: 10px; border-radius: 10px 0; color: white; width: 173px; max-width: fit-content; text-align: center; font-size: 16px;>a stylecolor: #fff; href../pricing/cremation-pricing>Click for Information/a>/p>/div>/div>/div>div classrow stylebackground-color: #fff; border-radius: 10px; border: solid 1px #ccc; margin-bottom: 10px;>div classcol-xs-12 col-sm-12 col-md-12 title-price-button styleborder-radius: 10px; border-bottom: solid 1px #ccc; padding: 0;>div classcol-xs-12 col-sm-9 col-md-7 title>h2 stylecolor: #003451; margin-top: 20px; margin-bottom: 0;>Funeral Services/h2>p stylecolor: #003451;>Starting at $795/p>/div>div classcol-xs-12 col-sm-3 col-md-5 price>h2 stylecolor: #333; text-align: right; font-size: 50px; margin-bottom: 0;>$795/h2>/div>div classcol-xs-12 col-sm-12 col-md-12 button stylepadding: 0;>p stylefloat: right; background-color: #03a3a8; padding: 10px; border-radius: 10px 0; color: white; width: 173px; max-width: fit-content; text-align: center; font-size: 16px;>a stylecolor: #fff; href../pricing/service-options>Click for Information/a>/p>/div>/div>/div>div classrow stylebackground-color: #fff; border-radius: 10px; border: solid 1px #ccc; margin-bottom: 10px;>div classcol-xs-12 col-sm-12 col-md-12 title-price-button styleborder-radius: 10px; border-bottom: solid 1px #ccc; padding: 0;>div classcol-xs-12 col-sm-9 col-md-7 title>h2 stylecolor: #003451; margin-top: 20px; margin-bottom: 0;>Cemetery Burials/h2>p stylecolor: #003451;>Starting at $890/p>/div>div classcol-xs-12 col-sm-3 col-md-5 price>h2 stylecolor: #333; text-align: right; font-size: 50px; margin-bottom: 0;>$998/h2>/div>div classcol-xs-12 col-sm-12 col-md-12 button stylepadding: 0;>p stylefloat: right; background-color: #03a3a8; padding: 10px; border-radius: 10px 0; color: white; width: 173px; max-width: fit-content; text-align: center; font-size: 16px;>a stylecolor: #fff; href../pricing/cemetery-burial-options>Click for Information/a>/p>/div>/div>/div>div classrow stylebackground-color: #fff; border-radius: 10px; border: solid 1px #ccc;>div classcol-xs-12 col-sm-12 col-md-12 title-price-button styleborder-radius: 10px; border-bottom: solid 1px #ccc; padding: 0;>div classcol-xs-12 col-sm-9 col-md-7 title>h2 stylecolor: #003451; margin-top: 20px; margin-bottom: 0;>General Price List/h2>p stylecolor: #003451;>All Product Pricing/p>/div>div classcol-xs-12 col-sm-3 col-md-5 price> /div>div classcol-xs-12 col-sm-12 col-md-12 button stylepadding: 0;>p stylefloat: right; background-color: #03a3a8; padding: 10px; border-radius: 10px 0; color: white; width: 173px; max-width: fit-content; text-align: center; font-size: 16px;>a stylecolor: #fff; hrefhttps://s3.amazonaws.com/fh-content/release/Content/Media/TraditionCremationCenter/TRN 2023 Pricelist (Online).pdf target_blank relnoopener noreferrer>Click for Information/a>/p>/div>/div>/div> /div> /div>/div>div classcontainer-fluid> div classrow homepage-container> div classrecent-obituaries> div classrecent-obituaries-header> h2>Recent Obituaries/h2> /div> div classrecent-obituaries-listing-wrapper data-row-number3> div classrecent-obituaries-listing-inner row> a href/obituaries/Kevin-M-Good?obId32356874#/obituaryInfo classcol-xs-6 col-sm-4 col-md-4 item-obituaries> div classobituaries-image-wrapper > img altKevin M. Good loadinglazy classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/32356874/Thumbnail.jpg data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/32356874/Thumbnail.jpg srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/32356874/Thumbnail.jpg> /div> div classobituaries-caption> h3>Kevin M. Good/h3> div classitem-obituaries__wrapper> time datetime 1966-07-13> 13 Jul 1966 /time> span classitem-obituaries__separator> - /span> time datetime 2024-07-12> 12 Jul 2024 /time> /div> /div> /a> a href/obituaries/Jose-Guadalupe-Elizarraras-Maya?obId31658133#/obituaryInfo classcol-xs-6 col-sm-4 col-md-4 item-obituaries> div classobituaries-image-wrapper > img altJose Guadalupe Elizarraras -Maya loadinglazy classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/31658133/Thumbnail.jpg data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/31658133/Thumbnail.jpg srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/31658133/Thumbnail.jpg> /div> div classobituaries-caption> h3>Jose Guadalupe Elizarraras -Maya/h3> div classitem-obituaries__wrapper> time datetime 1958-06-11> 11 Jun 1958 /time> span classitem-obituaries__separator> - /span> time datetime 2024-05-21> 21 May 2024 /time> /div> /div> /a> a href/obituaries/Michael-Wynn?obId28011462#/obituaryInfo classcol-xs-6 col-sm-4 col-md-4 item-obituaries> div classobituaries-image-wrapper > img altMichael Wynn loadinglazy classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/28011462/Thumbnail.jpg data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/28011462/Thumbnail.jpg srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/28011462/Thumbnail.jpg> /div> div classobituaries-caption> h3>Michael Wynn/h3> div classitem-obituaries__wrapper> time datetime 1975-11-21> 21 Nov 1975 /time> span classitem-obituaries__separator> - /span> time datetime 2023-05-16> 16 May 2023 /time> /div> /div> /a> a href/obituaries/Catherine-Dunning-Gonzales?obId26616299#/obituaryInfo classcol-xs-6 col-sm-4 col-md-4 item-obituaries> div classobituaries-image-wrapper > img altCatherine Dunning Gonzales loadinglazy classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/26616299/Thumbnail.jpg data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/26616299/Thumbnail.jpg srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/26616299/Thumbnail.jpg> /div> div classobituaries-caption> h3>Catherine Dunning Gonzales/h3> div classitem-obituaries__wrapper> time datetime 1956-10-28> 28 Oct 1956 /time> span classitem-obituaries__separator> - /span> time datetime 2022-12-1> 1 Dec 2022 /time> /div> /div> /a> a href/obituaries/Marion-Dauncey?obId26551826#/obituaryInfo classcol-xs-6 col-sm-4 col-md-4 item-obituaries> div classobituaries-image-wrapper > img altMarion Dauncey loadinglazy classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/26551826/Thumbnail.jpg data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/26551826/Thumbnail.jpg srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/26551826/Thumbnail.jpg> /div> div classobituaries-caption> h3>Marion Dauncey/h3> div classitem-obituaries__wrapper> time datetime 2022-11-13> 13 Nov 2022 /time> /div> /div> /a> a href/obituaries/Stanley-N-Koszelak?obId26192295#/obituaryInfo classcol-xs-6 col-sm-4 col-md-4 item-obituaries> div classobituaries-image-wrapper > img altStanley N. Koszelak loadinglazy classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/26192295/Thumbnail.jpg data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/26192295/Thumbnail.jpg srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/26192295/Thumbnail.jpg> /div> div classobituaries-caption> h3>Stanley N. Koszelak/h3> div classitem-obituaries__wrapper> time datetime 1953-10-20> 20 Oct 1953 /time> span classitem-obituaries__separator> - /span> time datetime 2022-10-10> 10 Oct 2022 /time> /div> /div> /a> a href/obituaries/Kirk-Jeffrey-Fitzhugh?obId26040576#/obituaryInfo classcol-xs-6 col-sm-4 col-md-4 item-obituaries> div classobituaries-image-wrapper > img altKirk Jeffrey Fitzhugh loadinglazy classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/26040576/Thumbnail.jpg data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/26040576/Thumbnail.jpg srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/26040576/Thumbnail.jpg> /div> div classobituaries-caption> h3>Kirk Jeffrey Fitzhugh/h3> div classitem-obituaries__wrapper> time datetime 1958-04-4> 4 Apr 1958 /time> span classitem-obituaries__separator> - /span> time datetime 2022-09-22> 22 Sep 2022 /time> /div> /div> /a> a href/obituaries/Carmen-Espinosa-Garcia?obId24619001#/obituaryInfo classcol-xs-6 col-sm-4 col-md-4 item-obituaries> div classobituaries-image-wrapper > img altCarmen Espinosa Garcia loadinglazy classlazyOwl no-image data-srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp> /div> div classobituaries-caption> h3>Carmen Espinosa Garcia/h3> div classitem-obituaries__wrapper> time datetime 1936-02-6> 6 Feb 1936 /time> span classitem-obituaries__separator> - /span> time datetime 2022-04-12> 12 Apr 2022 /time> /div> /div> /a> a href/obituaries/Ricardo-Leyva?obId23711427#/obituaryInfo classcol-xs-6 col-sm-4 col-md-4 item-obituaries> div classobituaries-image-wrapper > img altRicardo Leyva loadinglazy classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/23711427/Thumbnail_1.jpg data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/23711427/Thumbnail_1.jpg srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/23711427/Thumbnail_1.jpg> /div> div classobituaries-caption> h3>Ricardo Leyva/h3> div classitem-obituaries__wrapper> time datetime 1956-10-15> 15 Oct 1956 /time> span classitem-obituaries__separator> - /span> time datetime 2021-12-25> 25 Dec 2021 /time> /div> /div> /a> a href/obituaries/Robert-Allen-Edmondson?obId21100733#/obituaryInfo classcol-xs-6 col-sm-4 col-md-4 item-obituaries> div classobituaries-image-wrapper > img altRobert Allen Edmondson loadinglazy classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/21100733/Thumbnail.jpg data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/21100733/Thumbnail.jpg srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/21100733/Thumbnail.jpg> /div> div classobituaries-caption> h3>Robert Allen Edmondson/h3> div classitem-obituaries__wrapper> time datetime 1939-10-20> 20 Oct 1939 /time> span classitem-obituaries__separator> - /span> time datetime 2021-05-7> 7 May 2021 /time> /div> /div> /a> a href/obituaries/Joan-Louise-Tubbe?obId21100771#/obituaryInfo classcol-xs-6 col-sm-4 col-md-4 item-obituaries> div classobituaries-image-wrapper > img altJoan Louise Tubbe loadinglazy classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/21100771/Thumbnail.jpg data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/21100771/Thumbnail.jpg srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/21100771/Thumbnail.jpg> /div> div classobituaries-caption> h3>Joan Louise Tubbe/h3> div classitem-obituaries__wrapper> time datetime 1943-04-19> 19 Apr 1943 /time> span classitem-obituaries__separator> - /span> time datetime 2021-05-7> 7 May 2021 /time> /div> /div> /a> a href/obituaries/Edward-Cervantes?obId21130712#/obituaryInfo classcol-xs-6 col-sm-4 col-md-4 item-obituaries> div classobituaries-image-wrapper > img altEdward Cervantes loadinglazy classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/21130712/Thumbnail_1.jpg data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/21130712/Thumbnail_1.jpg srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/21130712/Thumbnail_1.jpg> /div> div classobituaries-caption> h3>Edward Cervantes/h3> div classitem-obituaries__wrapper> time datetime 1944-12-28> 28 Dec 1944 /time> span classitem-obituaries__separator> - /span> time datetime 2021-04-9> 9 Apr 2021 /time> /div> /div> /a> /div> div classbtn-obituaries-bottom> a href/obituaries/obituary-listings classbtn btn-primary>View More/a> a hrefjavascript:void(0); classbtn btn-default search get-search-form aria-labelSearch obituary>i classfa fa-search aria-hiddentrue>/i>/a> a hrefhttp://tradition-cremation-center.tributestore.com?srcorder-flowers classbtn btn-primary flowers-btn>Send Flowers/a> /div> /div> /div> /div>/div>div classcontainer-fluid> div classrow helpful-resources homepage-container> div classresources-header> True{ h2>Helpful Resources/h2> } p>Whether you’ve just lost a loved one, are planning your own end-of-life care, or are continuing on your grief journey, we’re here for you./p> /div> div classservices-wrapper> div classrow services-wrapper-inner> div classtwo-column-row> div classcol-sm-6 col-xs-12> div classinner-service> img src//tributecenteronline.s3-accelerate.amazonaws.com/Images/GeneralSummary/79edd3fc-9922-4b2a-a331-fe4237032856.jpg?date:638664360897440180 altWhere to Begin loadinglazy /> div classservice-block service-caption> h3>Where to Begin/h3> p>We are here to help you tackle the choices one by one and make the process one of love, healing, and life celebration./p> /div> a href/pricing/where-to-begin classbutton>Learn More/a> /div> /div> div classcol-sm-6 col-xs-12> div classinner-service> img src//tributecenteronline.s3-accelerate.amazonaws.com/Images/GeneralSummary/5715dfd3-f745-4548-9149-150b18b737a6.jpg?date:638664360897440180 altPreplan Online loadinglazy /> div classservice-block service-caption> h3>Preplan Online/h3> p>There’s a lot that goes into planning a funeral, but making those arrangements beforehand gives you time to consider all of your options./p> /div> a href/pricing/online-planner classbutton>Learn More/a> /div> /div> /div> div classtwo-column-row> div classcol-sm-6 col-xs-12> div classinner-service> img src//tributecenteronline.s3-accelerate.amazonaws.com/Images/GeneralSummary/e627bbad-f726-4531-ae9f-7c5d8b512048.jpg?date:638664360897451166 altGrief Support loadinglazy /> div classservice-block service-caption> h3>Grief Support/h3> p>When a loved one dies, it can be difficult to know how to cope with the loss. Here are some great resources to help you on your grief journey./p> /div> a href/resources/grief-support classbutton>Learn More/a> /div> /div> div classcol-sm-6 col-xs-12> div classinner-service> img src//tributecenteronline.s3-accelerate.amazonaws.com/Images/GeneralSummary/ce43e244-c0b4-4115-ad4a-408535aec10d.jpg?date:638664360897462140 altFAQs loadinglazy /> div classservice-block service-caption> h3>FAQs/h3> p>We’ve provided a list of answers to questions we frequently receive regarding our services and other activities related to funerals./p> /div> a href/resources/faqs classbutton>Learn More/a> /div> /div> /div> /div> /div> /div>/div> script> $(function() { var $window, $windowWidth, $document, footerVisible, $switcher, footer, footerHeight, footerTop, windowHeight, windowScroll, caption; $window $(window); $document $(document); $windowWidth $window.width(); footer $(#footer); caption $(#bs-fun-carousel).find(.carousel-caption); footerVisible false; $switcher true; function footerJulio () { $windowWidth $window.width(); if($windowWidth > 991 ) { windowHeight $window.height(); footerHeight footer.innerHeight(); footerTop footer.offset().top - windowHeight; windowScroll $window.scrollTop(); function $change() { if(windowScroll > footerTop && footerVisible false) { footerVisible true; caption.css(bottom, footerHeight) } else if(windowScroll footerTop && footerVisible true) { footerVisible false; caption.css(bottom, 0) } } $change(); $window.scroll(function() { windowScroll $window.scrollTop(); $change(); }); } } footerJulio(); var resizeId; $(window).on(resize,function() { clearTimeout(resizeId); resizeId setTimeout(doneResizing, 500); function doneResizing() { footerJulio(); } }); }); /script> script srchttps://www.google.com/recaptcha/api.js?render6Leawu0UAAAAAF0V79rsne6v5D0ciHG9B8519VFe>/script> script typetext/javascript> window.useCaptchaForContactForm true; var showContactUsCaptcha function (callback) { callback callback || contactUsSend; grecaptcha.ready(function () { grecaptcha.execute(6Leawu0UAAAAAF0V79rsne6v5D0ciHG9B8519VFe, { action: submit_dynamic_form }).then(function (token) { callback(token); }); }); } /script>script typetext/javascript> (function () { if (typeof DynamicForms ! undefined) { DynamicForms.setDomainId(content$empty_root$$_p__nhibernate$_v__guid$_75d666c2484041cb8b8b8a55cdf9548c); } })();/script> a onclickfuneralModal.init({selector:#subscribe-form,init:subscribeObituariesModalInit}); classsubscribe-link hrefjavascript:void(0);> span classbg> /span>span classstroke> /span>Subscribe to obituaries /a>script idsubscribe-form typetext/html> form data-typedynamic data-domainid75d666c2484041cb8b8b8a55cdf9548c 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 titleFirst Name classobituary-subs-name bg-icon-user> input typetext placeholderEmail Address titleEmail Address classobituary-subs-email bg-icon-letter> 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>div classcontainer-fluid > div idhome-contact-us-wrapper classrow home-contact-us-wrapper homepage-container > div classcontainer-fluid> div classrow home-contact-us-wrapper-item> h2>Contact Us/h2> div classcol-xs-12> form classrow home-contact-us-form> input typehidden value75d666c2-4840-41cb-8b8b-8a55cdf9548c namedomainId iddomainId /> input typehidden value539b0a97-8d81-4a41-b0d3-6dea9f90dc9f nameformId idformId /> div classform-group col-xs-12> div classrow> label fordf_Name>Name/label> input typetext namedf_Name iddf_Name classrequired form-control placeholderName aria-labelName data-valtrue data-val-required /> /div> /div> div classrow> div classform-group col-xs-12 col-md-6 home-contact-us-form-email> label fordf_Email>Email/label> input typetext namedf_Email iddf_Email classrequired email form-control placeholderEmail aria-labelEmail data-valtrue data-val-required /> /div> div classform-group col-xs-12 col-md-6 home-contact-us-form-phone> label fordf_Phone>Phone/label> input typetext namedf_Phone iddf_Phone classrequired form-control placeholderPhone aria-labelPhone data-valtrue data-val-required /> /div> /div> div classform-group col-xs-12> div classrow> label fordf_Message>Message/label> textarea classrequired form-control iddf_Message namedf_Message placeholderMessage aria-labelMessage data-valtrue data-val-required >/textarea> /div> /div> div classform-group col-xs-12> div classrow> input classbtn btn-primary typesubmit aria-labelSend valueSend /> input typehidden value namerecipientEmail idrecipientEmail /> /div> /div> /form> div classsuccess-response> p classresponse-body>p> span classbtn btn-primary go-back>OK/span> /div> /div> div classfooter-addresses> div idlocaltion-list-fun-carousel classcarousel slide data-ridecarousel data-intervalfalse> !-- Wrapper for slides --> div classcarousel-inner> div classitem active> p>Tradition Cremation Center and Cemetery/p> p>562 S. I Street/p> p>San Bernardino, CA 92410 /p> p>Phone: (909) 383-1560/p> p>Fax: (909) 383-1205/p> p>a classbtn btn-primary btn-directions target_blank relnoopener hrefhttps://maps.google.com/maps?saddr&daddr34.0911436000000000,-117.3038241000000000>Map & Driving Directions/a>/p> /div> /div> /div> /div>/div>script typetext/javascript> var $form $(form.home-contact-us-form); $form.submit(function(e) { e.preventDefault(); e.stopPropagation(); if ($form.valid()) { var $this $form; var contactUsSend function(captchaResponse) { var recaptchaResponse recaptchaResponse + captchaResponse; $.post(/Forms/DynamicForm, { domainId: 75d666c2-4840-41cb-8b8b-8a55cdf9548c, formId: 539b0a97-8d81-4a41-b0d3-6dea9f90dc9f, df_Name: $this.find(#df_Name).val(), df_Email: $this.find(#df_Email).val(), df_Phone: $this.find(#df_Phone).val(), df_Message: $this.find(#df_Message).val(), id_description: $this.find(#id_description).val(), recipientEmail: , recaptchaResponse: recaptchaResponse }).done(function (json) { $(.response-body).html(json); $this.addClass(form-success); $(.recaptcha-dialog).removeClass(active); $(body).removeClass(modal-open); } ); } if (window.useCaptchaForContactForm) showContactUsCaptcha(contactUsSend); else contactUsSend(); } }); $(.go-back).click(function() { $(.home-contact-us-form inputtypetext, .home-contact-us-form textarea).val(); $form.removeClass(form-success); });/script> script srchttps://www.google.com/recaptcha/api.js?render6Leawu0UAAAAAF0V79rsne6v5D0ciHG9B8519VFe>/script> script typetext/javascript> window.useCaptchaForContactForm true; var showContactUsCaptcha function (callback) { callback callback || contactUsSend; grecaptcha.ready(function () { grecaptcha.execute(6Leawu0UAAAAAF0V79rsne6v5D0ciHG9B8519VFe, { action: submit_dynamic_form }).then(function (token) { callback(token); }); }); } /script> /div> /div>/div> /div> /div>/main>footer idfooter classisHomepage> div classfooter-inner> div classcontainer> div classcopyrights> div classrow stylewidth: 700px; max-width: 100%; margin: auto;>div classcol-md-12>p styletext-align: center; margin-bottom: 25px;>a href../../contact/san-bernardino-ca>Tradition Cremation Center & Cemetery/a>br>Phone: a hreftel:9093831560>(909) 383-1560/a>br>Fax: (909) 383-1205br>California License FD#: 2127br>California License COA#: 638br>562 S. I Street, San Bernardino, CA 92410/p>/div>div classcol-md-12>hr>/div>/div>p styletext-align: center;>© Tradition Cremation Center & Cemeterybr>Crafted with care by a classunderline hrefhttp://www.frazerconsultants.com/ target_blank relnofollow noopener noreferrer>Frazer Consultants/a> and a classunderline hrefhttps://www.tributearchive.com/ target_blank relnoopener noreferrer>TA/a>/p>script>// !CDATA$(document).on(ready, function(){$(body).append(noscript>$(#home-contact-us-form).submit(function(){ga(send,event,Form,Submit,Contact Us);window.uetq window.uetq || ;window.uetq.push(event, Submit, {event_category: Form, event_label: Contact Us });});/noscript>);});// >/script> 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> /div>/footer> script> WebFontConfig.google.families.push(Source+Serif+Pro:400,600,700); /script>div classpage-loader-wrapper active> div classpage-loader>Loading.../div>/div>div classobit-popups-container>/div> script typetext/javascript> $(document).ready(function () { if (!!$.fn.superbox) $.superbox(); var showHomePage false; /* mobile menu actions */ $(.navbar-toggle).on(click, toogleMobileMenu); $(window).on(resize, closeMobileMenu); /* desctop menu actions */ $(window).on(scroll, function() { fixedDesctopHeader(showHomePage); }); /* loader actions */ /* hide loader */ $(.page-loader-wrapper).removeClass(active); /* show loader */ window.ctrlIsPressed false; $(document).keydown(function($event) { if($event.which 17) { window.ctrlIsPressed true; } }); $(document).keyup(function($event) { if($event.which 17) { window.ctrlIsPressed false; } }); /* show loader */ $(#mobile-navbar a).on(click, function (e) { var target $(e.target); target.next(.dropdown-menu).fadeToggle(); if (target.attr(href) && target.attr(href).indexOf(#) -1) { $(.page-loader-wrapper).addClass(active); closeMobileMenu(); } }); $(#navbar a).on(click, function (e) { var target $(e.target); if (target.attr(href) && target.attr(href).indexOf(#) -1 && !window.ctrlIsPressed) { $(.page-loader-wrapper).addClass(active); closeMobileMenu(); } }); FrazerMaps.ShowMaps($(.map-box)); $(window).on(scroll, function () { /* Add sticky class to body tag */ $(body).removeClass(sticky); if ($(.main-header).hasClass(fixed)) { $(body).addClass(sticky); } /* Modify padding of more-menu-wrapper */ paddingAdjustmentForMoreMenuWrapper(); }) $(window).on(load, paddingAdjustmentForMoreMenuWrapper() ) DailySubscribeInit(); }); /* Modify padding of more-menu-wrapper */ function paddingAdjustmentForMoreMenuWrapper() { /* Find an offset lef of a first dynamic menu */ var dynamicMenu $(#navbar > li.dynamic-menu); if (dynamicMenu.length > 0) { var fistDyOffset dynamicMenu.first().offset(); if (fistDyOffset) { $(.dropdown.more > .dropdown-menu .more-menu-wrapper).css(padding-left, parseInt(fistDyOffset.left) + px); } } } /* mobile menu functions */ function toogleMobileMenu(e) { //if (e) { // e.preventDefault(); // e.stopPropagation(); //} //$(.home-contact-us-wrapper).removeClass(obit-page); $(#mobile-navbar, .main-header).toggleClass(active); setTimeout(function () { $(.page-loader-wrapper).removeClass(active); }, 0); //hotfix for menu contact button $(a.tribute-pay-banner).toggleClass(hide); } function closeMobileMenu() { $(.navbar-toggle).addClass(collapsed); $(#mobile-navbar, .main-header).removeClass(active); } /* desctop menu functions */ function fixedDesctopHeader(hasHomeButton) { if ($(window).scrollTop() > 100) { $(.main-header).addClass(fixed); if (!!hasHomeButton) { if ($(.main-header).hasClass(hide-logo-on-scroll) && !$(#navbar > li).hasClass(homeLink) ) { $(#navbar > li.logo).after(li classhomeLink>a href/>Home/a>/li>); } } } else { $(.main-header).removeClass(fixed); if (!!hasHomeButton) { if ($(.main-header).hasClass(hide-logo-on-scroll) ) { $(#navbar .homeLink).remove(); } } } } // init top responsive navigation $(function () { //for each .navigation create a responsive version $(.navigation).each(function () { //pass the nav element and set the break point. new ResponsiveNav($(this), 500); }); }); function DailySubscribeInit() { $(.dailySubsControls button).click(function () { subscribeToDailyEmails(this, 75d666c2-4840-41cb-8b8b-8a55cdf9548c, /FunHelper/SubscribeToDailyEmails); }); } /script> div classprintable>/div> 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, ) + -1043726; window.pushSessionInfo(window.getGAuuid()); pushSiteInfo( window.API.domainId.replace(/-/g, ), locationIdValue, Funeral Home, window.API.brand.name, Responsive, External, Home Page, Other, Tradition Cremation Center, Teleflora.replace(Frazer Floral Network, FFN) ); // 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(75d666c2-4840-41cb-8b8b-8a55cdf9548c); }); /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
]