1<!DOCTYPE html> 2<html lang="en-US"> 3<head> 4<meta name="viewport" content="width=device-width, initial-scale=1.0" /> 5<meta charset="UTF-8" /> 6<link rel="profile" href="https://gmpg.org/xfn/11" /> 7<link rel="pingback" href="https://blogs.embarcadero.com/xmlrpc.php" /> 8<title>News – Embarcadero RAD Studio, Delphi, & C++Builder Blogs</title> 9 <meta name='robots' content='max-image-preview:large' /> 10<link rel="alternate" href="https://blogs.embarcadero.com/category/news/" hreflang="en" /> 11<link rel="alternate" href="https://blogs.embarcadero.com/de/category/beitraege/" hreflang="de" /> 12<link rel="alternate" href="https://blogs.embarcadero.com/es/category/noticias/" hreflang="es" /> 13<link rel="alternate" href="https://blogs.embarcadero.com/fr/category/nouvelles/" hreflang="fr" /> 14<link rel="alternate" href="https://blogs.embarcadero.com/pt/category/noticia/" hreflang="pt" /> 15<link rel="alternate" href="https://blogs.embarcadero.com/ru/category/%d0%bd%d0%be%d0%b2%d0%be%d1%81%d1%82%d0%b8/" hreflang="ru" /> 16<link rel="alternate" href="https://blogs.embarcadero.com/ja/category/news/" hreflang="ja" /> 17<link rel="alternate" href="https://blogs.embarcadero.com/it/category/uncategorized-it/" hreflang="it" /> 18<link rel='dns-prefetch' href='//jetpack.wordpress.com' /> 19<link rel='dns-prefetch' href='//s0.wp.com' /> 20<link rel='dns-prefetch' href='//public-api.wordpress.com' /> 21<link rel='dns-prefetch' href='//secure.gravatar.com' /> 22<link href='//hb.wpmucdn.com' rel='preconnect' /> 23<link rel="alternate" type="application/rss+xml" title="Embarcadero RAD Studio, Delphi, & C++Builder Blogs » Feed" href="https://blogs.embarcadero.com/feed/" /> 24<link rel="alternate" type="application/rss+xml" title="Embarcadero RAD Studio, Delphi, & C++Builder Blogs » Comments Feed" href="https://blogs.embarcadero.com/comments/feed/" /> 25<link rel="alternate" type="application/rss+xml" title="Embarcadero RAD Studio, Delphi, & C++Builder Blogs » News Category Feed" href="https://blogs.embarcadero.com/category/news/feed/" /> 26 <style> 27 .lazyload, 28 .lazyloading { 29 max-width: 100%; 30 } 31 </style> 32 33 <style type="text/css"> 34 .rv-serif-font, 35 .rv-serif-font #rv-body h1, 36 .rv-serif-font #rv-body h2, 37 .rv-serif-font #rv-body h3, 38 .rv-serif-font #rv-body h4, 39 .rv-serif-font #rv-body h5, 40 .rv-serif-font #rv-body h6, 41 .rv-serif-font #rv-body ul li, 42 .rv-serif-font #rv-body ol li, 43 .rv-serif-font #rv-body span, 44 .rv-serif-font #rv-body div, 45 .rv-serif-font #rv-body p 46 .rv-serif-font #rv-body a 47 { 48 font-family: 'PT Serif', serif; } 49 .rv-sanserif-font, 50 .rv-sanserif-font #rv-body h1, 51 .rv-sanserif-font #rv-body h2, 52 .rv-sanserif-font #rv-body h3, 53 .rv-sanserif-font #rv-body h4, 54 .rv-sanserif-font #rv-body h5, 55 .rv-sanserif-font #rv-body h6, 56 .rv-sanserif-font #rv-body ul li, 57 .rv-sanserif-font #rv-body ol li, 58 .rv-sanserif-font #rv-body span, 59 .rv-sanserif-font #rv-body div, 60 .rv-sanserif-font #rv-body p 61 .rv-sanserif-font #rv-body a 62 { 63 font-family: 'Source Sans Pro', sans-serif; } 64 65 div.readerview-content-width { width: 780px !important; } 66 .rv-custom-theme{ 67 background-color: #f2e9d1 !important; color: #403f3d !important; 68 } 69 .rv-custom-theme, 70 .rv-custom-theme #rv-body h1, 71 .rv-custom-theme #rv-body h2, 72 .rv-custom-theme #rv-body h3, 73 .rv-custom-theme #rv-body h4, 74 .rv-custom-theme #rv-body h5, 75 .rv-custom-theme #rv-body h6, 76 .rv-custom-theme #rv-body ul li, 77 .rv-custom-theme #rv-body ol li, 78 .rv-custom-theme i, 79 .rv-custom-theme .rv-post-title, 80 .rv-custom-theme #rv-body p { 81 color: #403f3d !important; 82 } 83 .rv-custom-theme a { color: #a54a45 !important; } 84 85 .rv-custom-theme .rv-header-color { 86 background-color: #f2e9d1; 87 color: #8f8888; 88 } 89 90 .rv-custom-theme .rv-bottom-color { 91 background-color: #f2e9d1; 92 color: #8f8888; 93 } 94 /* Box */ 95 .rv-custom-theme .rv-related-posts-content, .rv-custom-theme .rv-nextprev-post-content, .rv-custom-theme .rv-response-posts-content { 96 background-color:#f2e9d1 ; 97 border:none; 98 } 99 100 .rv-custom-theme ul.rv-related-posts li .rv-related-post-head a, .rv-custom-theme ul.rv-response-posts li .rv-response-post-head a, .rv-custom-theme .rv-nextprev-post-content .title{ 101 color:#a54a45; 102 } 103 .rv-custom-theme .rv-custom-theme .rv-comment {
104 color:#403f3d; 105 } 106 .rv-custom-theme ul.rv-related-posts li .rv-related-post-head a:hover, .rv-custom-theme ul.rv-response-posts li .rv-response-post-head a:hover, .rv-custom-theme .rv-nextprev-post-content .post-direction .title:hover { 107 color: #403f3d !important; 108 } 109 .rv-custom-theme ul.rv-related-posts li, .rv-custom-theme ul.rv-response-posts li, .rv-custom-theme .rv-border-right{ 110 border-color:#dad2bc !important; 111 } 112 113 .rv-custom-theme .rv-show-all-comment a{ 114 color:#a54a45 !important; 115 } 116 .rv-custom-theme .rv-bottom-color a:hover, .rv-custom-theme .rv-bottom-color a:hover i { 117 color:#a54a45 !important; 118 } 119 120 .rv-custom-theme .rv-separator { 121 background: #8f8888; 122 opacity: 0.5; 123 } 124 .rv-custom-theme .rv-show-all-comment { 125 background-color: #f2e9d1; 126 border:1px solid #dad2bc ; 127 } 128 .rv-custom-theme .rv-show-all-comment a:hover{ 129 color:#403f3d !important; 130 } 131 132 .rv-custom-theme .readerview-post-tags > a { 133 border-color:#a54a45 !important; 134 } 135 136 .rv-custom-theme .readerview-post-tags > a:hover { 137 background-color:#a54a45 !important; 138 color:#f2e9d1 !important; 139 } 140 141 .rv-custom-theme #rv-ads-content img { 142 border-color:#a54a45 !important; 143 } 144 .rv-custom-theme #rv-ads-content #rv-ads-close i{ 145 color:#a54a45 !important; 146 } 147 .rv-custom-theme .rv-options:before { 148 border-top:10px solid #f2e9d1; 149 } 150 div#rv-body p { line-height:1.5em; text-align: normal; } 151 152 .rv-custom-theme #reader-view-relation { background-color: #dad2bc; } 153 .rv-white-theme #reader-view-relation { background-color: #fafafa; } 154 .rv-dark-theme #reader-view-relation { background-color: #343436; } 155 156 .rv-custom-theme #rv-post-prev, .rv-custom-theme #rv-post-next { background-color:#c2baa7 !important;; color:#403f3d !important; } 157 158 .rv-custom-theme ul.rv-response-posts li span, .rv-custom-theme .rv-related-post-title, .rv-custom-theme .rv-nextprev-post-title, .rv-custom-theme .rv-response-post-title {color:#403f3d !important; opacity:0.8;} 159 .rv-custom-theme .rv-nextprev-post-content .post-way i, .rv-custom-theme .rv-nextprev-post-content .post-way {color:#a54a45 !important; opacity:0.7;} 160 161 .rv-white-theme #logo-retina {background:url('') no-repeat center center;} 162 .rv-dark-theme #logo-retina {background:url('') no-repeat center center;} 163 .rv-custom-theme #logo-retina {background:url('') no-repeat center center;} 164 .readerview-action { 165 color: #09c580; 166 } 167 .readerview-action:hover { 168 color: #29946d; 169 } 170 171 172 </style> 173 174<style id="wp-img-auto-sizes-contain-inline-css"> 175img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px} 176/*# sourceURL=wp-img-auto-sizes-contain-inline-css */ 177</style> 178<link rel='stylesheet' id='urvanov_syntax_highlighter-css' href='https://blogs.embarcadero.com/wp-content/plugins/urvanov-syntax-highlighter/css/min/urvanov_syntax_highlighter.min.css' media='all' /> 179<link rel='stylesheet' id='crayon-theme-classic-css' href='https://blogs.embarcadero.com/wp-content/plugins/urvanov-syntax-highlighter/themes/classic/classic.css' media='all' /> 180<link rel='stylesheet' id='crayon-font-monaco-css' href='https://blogs.embarcadero.com/wp-content/plugins/urvanov-syntax-highlighter/fonts/monaco.css' media='all' /> 181<style id="wp-block-library-inline-css"> 182/** 183 * Colors 184 */ 185/** 186 * Typography 187 */ 188/** 189 * SCSS Variables. 190 * 191 * Please use variables from this sheet to ensure consistency across the UI. 192 * Don't add to this sheet unless you're pretty sure the value will be reused in many places. 193 * For example, don't add rules to this sheet that affect block visuals. It's purely for UI. 194 */ 195/** 196 * Fonts & basic variables. 197 */ 198/** 199 * Typography 200 */ 201/** 202 * Grid System. 203 * https://make.wordpress.org/design/2019/10/31/proposal-a-consistent-spacing-system-for-wordpress/ 204 */ 205/** 206 * Radius scale. 207 */ 208/** 209 * Elevation scale. 210 */ 211/** 212 * Dimensions. 213 */ 214/** 215 * Mobile specific styles 216 */ 217/** 218 * Editor styles. 219 */ 220/** 221 * Block & Editor UI. 222 */ 223/** 224 * Block paddings. 225 */ 226/** 227 * React Native specific. 228 * These variables do not appear to be used anywhere else. 229 */ 230/** 231 * Breakpoints & Media Queries 232 */ 233/** 234* Converts a hex value into the rgb equivalent. 235* 236* @param {string} hex - the hexadecimal value to convert 237* @return {string} comma separated rgb values 238*/ 239/** 240 * Long content fade mixin 241 * 242 * Creates a fading overlay to signify that the content is longer 243 * than the space allows. 244 */ 245/** 246 * Breakpoint mixins 247 */ 248/** 249 * Focus styles. 250 */ 251/** 252 * Applies editor left position to the selector passed as argument 253 */ 254/** 255 * Styles that are reused verbatim in a few places 256 */ 257/** 258 * Allows users to opt-out of animations via OS-level preferences. 259 */ 260/** 261 * Reset default styles for JavaScript UI based pages. 262 * This is a WP-admin agnostic reset 263 */ 264/** 265 * Reset the WP Admin page styles for Gutenberg-like pages. 266 */ 267/** 268 * Creates a checkerboard pattern background to indicate transparency. 269 * @param {String} $size - The size of the squares in the checkerboard pattern. Default is 12px. 270 */ 271:root { 272 --wp-block-synced-color: #7a00df; 273 --wp-block-synced-color--rgb: 122, 0, 223; 274 --wp-bound-block-color: var(--wp-block-synced-color); 275 --wp-editor-canvas-background: #ddd; 276 --wp-admin-theme-color: #007cba;
277 --wp-admin-theme-color--rgb: 0, 124, 186; 278 --wp-admin-theme-color-darker-10: rgb(0, 107, 160.5); 279 --wp-admin-theme-color-darker-10--rgb: 0, 107, 160.5; 280 --wp-admin-theme-color-darker-20: #005a87; 281 --wp-admin-theme-color-darker-20--rgb: 0, 90, 135; 282 --wp-admin-border-width-focus: 2px; 283} 284@media (min-resolution: 192dpi) { 285 :root { 286 --wp-admin-border-width-focus: 1.5px; 287 } 288} 289 290/** 291 * Element styles. 292 */ 293.wp-element-button { 294 cursor: pointer; 295} 296 297:root .has-very-light-gray-background-color { 298 background-color: #eee; 299} 300:root .has-very-dark-gray-background-color { 301 background-color: #313131; 302} 303:root .has-very-light-gray-color { 304 color: #eee; 305} 306:root .has-very-dark-gray-color { 307 color: #313131; 308} 309:root { 310 /* stylelint-disable @stylistic/function-comma-space-after -- We can not use spacing because of WP multi site kses rule. */ 311} 312:root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background { 313 background: linear-gradient(135deg, rgb(0, 208, 132) 0%, rgb(6, 147, 227) 100%); 314} 315:root .has-purple-crush-gradient-background { 316 background: linear-gradient(135deg, rgb(52, 226, 228) 0%, rgb(71, 33, 251) 50%, rgb(171, 29, 254) 100%); 317} 318:root .has-hazy-dawn-gradient-background { 319 background: linear-gradient(135deg, rgb(250, 172, 168) 0%, rgb(218, 208, 236) 100%); 320} 321:root .has-subdued-olive-gradient-background { 322 background: linear-gradient(135deg, rgb(250, 250, 225) 0%, rgb(103, 166, 113) 100%); 323} 324:root .has-atomic-cream-gradient-background { 325 background: linear-gradient(135deg, rgb(253, 215, 154) 0%, rgb(0, 74, 89) 100%); 326} 327:root .has-nightshade-gradient-background { 328 background: linear-gradient(135deg, rgb(51, 9, 104) 0%, rgb(49, 205, 207) 100%); 329} 330:root .has-midnight-gradient-background { 331 background: linear-gradient(135deg, rgb(2, 3, 129) 0%, rgb(40, 116, 252) 100%); 332} 333:root { 334 /* stylelint-enable @stylistic/function-comma-space-after */ 335 --wp--preset--font-size--normal: 16px; 336 --wp--preset--font-size--huge: 42px; 337} 338 339.has-regular-font-size { 340 font-size: 1em; 341} 342 343.has-larger-font-size { 344 font-size: 2.625em; 345} 346 347.has-normal-font-size { 348 font-size: var(--wp--preset--font-size--normal); 349} 350 351.has-huge-font-size { 352 font-size: var(--wp--preset--font-size--huge); 353} 354 355:root .has-text-align-center { 356 text-align: center; 357} 358 359:root .has-text-align-left { 360 /*rtl:ignore*/ 361 text-align: left; 362} 363 364:root .has-text-align-right { 365 /*rtl:ignore*/ 366 text-align: right; 367} 368 369.has-fit-text { 370 white-space: nowrap !important; 371} 372 373#end-resizable-editor-section { 374 display: none; 375} 376 377.aligncenter { 378 clear: both; 379} 380 381.items-justified-left { 382 justify-content: flex-start; 383} 384 385.items-justified-center { 386 justify-content: center; 387} 388 389.items-justified-right { 390 justify-content: flex-end; 391} 392 393.items-justified-space-between { 394 justify-content: space-between; 395} 396 397.screen-reader-text { 398 border: 0; 399 clip-path: inset(50%); 400 height: 1px; 401 margin: -1px; 402 overflow: hidden; 403 padding: 0; 404 position: absolute; 405 width: 1px; 406 word-wrap: normal !important; 407} 408 409.screen-reader-text:focus { 410 background-color: #ddd; 411 clip-path: none; 412 color: #444; 413 display: block; 414 font-size: 1em; 415 height: auto; 416 left: 5px; 417 line-height: normal; 418 padding: 15px 23px 14px; 419 text-decoration: none; 420 top: 5px; 421 width: auto; 422 z-index: 100000; 423} 424 425/** 426 * The following provide a simple means of applying a default border style when 427 * a user first makes a selection in the border block support panel. 428 * This prevents issues such as where the user could set a border width 429 * and see no border due there being no border style set. 430 * 431 * This is intended to be removed once intelligent defaults can be set while 432 * making border selections via the block support. 433 * 434 * See: https://github.com/WordPress/gutenberg/pull/33743 435 */ 436html :where(.has-border-color) { 437 border-style: solid; 438} 439 440html :where([style*=border-color]) { 441 border-style: solid; 442} 443 444html :where([style*=border-top-color]) { 445 border-top-style: solid; 446} 447 448html :where([style*=border-right-color]) { 449 /*rtl:ignore*/ 450 border-right-style: solid; 451} 452 453html :where([style*=border-bottom-color]) { 454 border-bottom-style: solid; 455} 456 457html :where([style*=border-left-color]) { 458 /*rtl:ignore*/ 459 border-left-style: solid; 460} 461 462html :where([style*=border-width]) { 463 border-style: solid; 464} 465 466html :where([style*=border-top-width]) { 467 border-top-style: solid; 468} 469 470html :where([style*=border-right-width]) { 471 /*rtl:ignore*/ 472 border-right-style: solid; 473} 474 475html :where([style*=border-bottom-width]) { 476 border-bottom-style: solid; 477} 478 479html :where([style*=border-left-width]) { 480 /*rtl:ignore*/ 481 border-left-style: solid; 482} 483 484/** 485 * Provide baseline responsiveness for images. 486 */ 487html :where(img[class*=wp-image-]) { 488 height: auto; 489 max-width: 100%; 490} 491 492/** 493 * Reset user agent styles for figure element margins. 494 */ 495:where(figure) { 496 margin: 0 0 1em 0; 497} 498 499html :where(.is-position-sticky) { 500 /* stylelint-disable length-zero-no-unit -- 0px is set explicitly so that it can be used in a calc value. */ 501 --wp-admin--admin-bar--position-offset: var(--wp-admin--admin-bar--height, 0px); 502 /* stylelint-enable length-zero-no-unit */ 503} 504 505@media screen and (max-width: 600px) { 506 html :where(.is-position-sticky) { 507 /* stylelint-disable length-zero-no-unit -- 0px is set explicitly so that it can be used in a calc value. */ 508 --wp-admin--admin-bar--position-offset: 0px; 509 /* stylelint-enable length-zero-no-unit */ 510 } 511} 512 513/*# sourceURL=/wp-includes/css/dist/block-library/common.css */ 514</style> 515<style id="wp-block-button-inline-css"> 516.wp-block-button__link { 517 cursor: pointer; 518 display: inline-block; 519 text-align: center; 520 word-break: break-word; 521 box-sizing: border-box; 522 height: 100%; 523 align-content: center; 524} 525.wp-block-button__link.aligncenter { 526 text-align: center; 527} 528.wp-block-button__link.alignright { 529 /*rtl:ignore*/ 530 text-align: right; 531} 532 533:where(.wp-block-button__link) { 534 box-shadow: none; 535 text-decoration: none; 536 border-radius: 9999px; 537 padding: calc(0.667em + 2px) calc(1.333em + 2px); 538} 539 540.wp-block-button[style*=text-decoration] .wp-block-button__link { 541 text-decoration: inherit; 542} 543 544.wp-block-buttons > .wp-block-button.has-custom-width { 545 max-width: none; 546} 547.wp-block-buttons > .wp-block-button.has-custom-width .wp-block-button__link { 548 width: 100%; 549} 550.wp-block-buttons > .wp-block-button.has-custom-font-size .wp-block-button__link { 551 font-size: inherit; 552} 553.wp-block-buttons > .wp-block-button.wp-block-button__width-25 { 554 width: calc(25% - var(--wp--style--block-gap, 0.5em) * 0.75); 555} 556.wp-block-buttons > .wp-block-button.wp-block-button__width-50 { 557 width: calc(50% - var(--wp--style--block-gap, 0.5em) * 0.5); 558} 559.wp-block-buttons > .wp-block-button.wp-block-button__width-75 { 560 width: calc(75% - var(--wp--style--block-gap, 0.5em) * 0.25); 561} 562.wp-block-buttons > .wp-block-button.wp-block-button__width-100 { 563 width: 100%; 564 flex-basis: 100%; 565} 566 567.wp-block-buttons.is-vertical > .wp-block-button.wp-block-button__width-25 { 568 width: 25%; 569} 570.wp-block-buttons.is-vertical > .wp-block-button.wp-block-button__width-50 { 571 width: 50%; 572} 573.wp-block-buttons.is-vertical > .wp-block-button.wp-block-button__width-75 { 574 width: 75%; 575} 576 577.wp-block-button.is-style-squared, 578.wp-block-button__link.wp-block-button.is-style-squared { 579 border-radius: 0; 580} 581 582.wp-block-button.no-border-radius, 583.wp-block-button__link.no-border-radius { 584 border-radius: 0 !important; 585} 586 587:root :where(.wp-block-button.is-style-outline > .wp-block-button__link), 588:root :where(.wp-block-button .wp-block-button__link.is-style-outline) { 589 border: 2px solid currentColor; 590 padding: 0.667em 1.333em; 591} 592:root :where(.wp-block-button.is-style-outline > .wp-block-button__link:not(.has-text-color)), 593:root :where(.wp-block-button .wp-block-button__link.is-style-outline:not(.has-text-color)) { 594 color: currentColor; 595} 596:root :where(.wp-block-button.is-style-outline > .wp-block-button__link:not(.has-background)), 597:root :where(.wp-block-button .wp-block-button__link.is-style-outline:not(.has-background)) { 598 background-color: transparent; 599 background-image: none; 600}
601/*# sourceURL=https://blogs.embarcadero.com/wp-includes/blocks/button/style.css */ 602</style> 603<style id="wp-block-heading-inline-css"> 604/** 605 * SCSS Variables. 606 * 607 * Please use variables from this sheet to ensure consistency across the UI. 608 * Don't add to this sheet unless you're pretty sure the value will be reused in many places. 609 * For example, don't add rules to this sheet that affect block visuals. It's purely for UI. 610 */ 611/** 612 * Colors 613 */ 614/** 615 * Fonts & basic variables. 616 */ 617/** 618 * Typography 619 */ 620/** 621 * Grid System. 622 * https://make.wordpress.org/design/2019/10/31/proposal-a-consistent-spacing-system-for-wordpress/ 623 */ 624/** 625 * Radius scale. 626 */ 627/** 628 * Elevation scale. 629 */ 630/** 631 * Dimensions. 632 */ 633/** 634 * Mobile specific styles 635 */ 636/** 637 * Editor styles. 638 */ 639/** 640 * Block & Editor UI. 641 */ 642/** 643 * Block paddings. 644 */ 645/** 646 * React Native specific. 647 * These variables do not appear to be used anywhere else. 648 */ 649h1:where(.wp-block-heading).has-background, 650h2:where(.wp-block-heading).has-background, 651h3:where(.wp-block-heading).has-background, 652h4:where(.wp-block-heading).has-background, 653h5:where(.wp-block-heading).has-background, 654h6:where(.wp-block-heading).has-background { 655 padding: 1.25em 2.375em; 656} 657h1.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]), h1.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]), 658h2.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]), 659h2.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]), 660h3.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]), 661h3.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]), 662h4.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]), 663h4.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]), 664h5.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]), 665h5.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]), 666h6.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]), 667h6.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]) { 668 rotate: 180deg; 669} 670/*# sourceURL=https://blogs.embarcadero.com/wp-includes/blocks/heading/style.css */ 671</style> 672<style id="wp-block-image-inline-css"> 673/** 674 * Typography 675 */ 676/** 677 * SCSS Variables. 678 * 679 * Please use variables from this sheet to ensure consistency across the UI. 680 * Don't add to this sheet unless you're pretty sure the value will be reused in many places. 681 * For example, don't add rules to this sheet that affect block visuals. It's purely for UI. 682 */ 683/** 684 * Colors 685 */ 686/** 687 * Fonts & basic variables. 688 */ 689/** 690 * Typography 691 */ 692/** 693 * Grid System. 694 * https://make.wordpress.org/design/2019/10/31/proposal-a-consistent-spacing-system-for-wordpress/ 695 */ 696/** 697 * Radius scale. 698 */ 699/** 700 * Elevation scale. 701 */ 702/** 703 * Dimensions. 704 */ 705/** 706 * Mobile specific styles 707 */ 708/** 709 * Editor styles. 710 */ 711/** 712 * Block & Editor UI. 713 */ 714/** 715 * Block paddings. 716 */ 717/** 718 * React Native specific. 719 * These variables do not appear to be used anywhere else. 720 */ 721/** 722 * Breakpoints & Media Queries 723 */ 724/** 725* Converts a hex value into the rgb equivalent. 726* 727* @param {string} hex - the hexadecimal value to convert 728* @return {string} comma separated rgb values 729*/ 730/** 731 * Long content fade mixin 732 * 733 * Creates a fading overlay to signify that the content is longer 734 * than the space allows. 735 */ 736/** 737 * Breakpoint mixins 738 */ 739/** 740 * Focus styles. 741 */ 742/** 743 * Applies editor left position to the selector passed as argument 744 */ 745/** 746 * Styles that are reused verbatim in a few places 747 */ 748/** 749 * Allows users to opt-out of animations via OS-level preferences. 750 */ 751/** 752 * Reset default styles for JavaScript UI based pages. 753 * This is a WP-admin agnostic reset 754 */ 755/** 756 * Reset the WP Admin page styles for Gutenberg-like pages. 757 */ 758/** 759 * Creates a checkerboard pattern background to indicate transparency. 760 * @param {String} $size - The size of the squares in the checkerboard pattern. Default is 12px. 761 */ 762.wp-block-image > a, 763.wp-block-image > figure > a { 764 display: inline-block; 765} 766.wp-block-image img { 767 height: auto; 768 max-width: 100%; 769 vertical-align: bottom; 770 box-sizing: border-box; 771} 772@media not (prefers-reduced-motion) { 773 .wp-block-image img.hide { 774 visibility: hidden; 775 } 776 .wp-block-image img.show { 777 animation: show-content-image 0.4s; 778 } 779} 780.wp-block-image[style*=border-radius] > a, 781.wp-block-image[style*=border-radius] img { 782 border-radius: inherit; 783} 784.wp-block-image.has-custom-border img { 785 box-sizing: border-box; 786} 787.wp-block-image.aligncenter { 788 text-align: center; 789} 790.wp-block-image.alignfull > a, .wp-block-image.alignwide > a { 791 width: 100%; 792} 793.wp-block-image.alignfull img, .wp-block-image.alignwide img { 794 height: auto; 795 width: 100%; 796} 797.wp-block-image.alignleft, .wp-block-image.alignright, .wp-block-image.aligncenter, 798.wp-block-image .alignleft, 799.wp-block-image .alignright, 800.wp-block-image .aligncenter { 801 display: table; 802} 803.wp-block-image.alignleft > figcaption, .wp-block-image.alignright > figcaption, .wp-block-image.aligncenter > figcaption, 804.wp-block-image .alignleft > figcaption, 805.wp-block-image .alignright > figcaption, 806.wp-block-image .aligncenter > figcaption { 807 display: table-caption; 808 caption-side: bottom; 809} 810.wp-block-image .alignleft { 811 /*rtl:ignore*/ 812 float: left; 813 /*rtl:ignore*/ 814 margin-left: 0; 815 /*rtl:ignore*/ 816 margin-right: 1em; 817 margin-top: 0.5em; 818 margin-bottom: 0.5em; 819} 820.wp-block-image .alignright { 821 /*rtl:ignore*/ 822 float: right; 823 /*rtl:ignore*/ 824 margin-right: 0; 825 /*rtl:ignore*/ 826 margin-left: 1em; 827 margin-top: 0.5em; 828 margin-bottom: 0.5em; 829} 830.wp-block-image .aligncenter { 831 margin-left: auto; 832 margin-right: auto; 833} 834.wp-block-image :where(figcaption) { 835 margin-top: 0.5em; 836 margin-bottom: 1em; 837} 838.wp-block-image.is-style-circle-mask img { 839 border-radius: 9999px; 840} 841@supports ((-webkit-mask-image: none) or (mask-image: none)) or (-webkit-mask-image: none) { 842 .wp-block-image.is-style-circle-mask img { 843 /* stylelint-disable-next-line function-url-quotes -- We need quotes for the data URL to use the SVG inline. */ 844 -webkit-mask-image: url('data:image/svg+xml;utf8,<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"><circle cx="50" cy="50" r="50"/></svg>'); 845 mask-image: url('data:image/svg+xml;utf8,<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"><circle cx="50" cy="50" r="50"/></svg>'); 846 mask-mode: alpha; 847 -webkit-mask-repeat: no-repeat; 848 mask-repeat: no-repeat; 849 -webkit-mask-size: contain; 850 mask-size: contain; 851 -webkit-mask-position: center; 852 mask-position: center; 853 border-radius: 0; 854 } 855} 856 857:root :where(.wp-block-image.is-style-rounded img, .wp-block-image .is-style-rounded img) { 858 border-radius: 9999px; 859} 860 861.wp-block-image figure {
862 margin: 0; 863} 864 865.wp-lightbox-container { 866 position: relative; 867 display: flex; 868 flex-direction: column; 869} 870.wp-lightbox-container img { 871 cursor: zoom-in; 872} 873.wp-lightbox-container img:hover + button { 874 opacity: 1; 875} 876.wp-lightbox-container button { 877 opacity: 0; 878 border: none; 879 background-color: rgba(90, 90, 90, 0.25); 880 backdrop-filter: blur(16px) saturate(180%); 881 cursor: zoom-in; 882 display: flex; 883 justify-content: center; 884 align-items: center; 885 width: 20px; 886 height: 20px; 887 position: absolute; 888 z-index: 100; 889 top: 16px; 890 right: 16px; 891 text-align: center; 892 padding: 0; 893 border-radius: 4px; 894} 895@media not (prefers-reduced-motion) { 896 .wp-lightbox-container button { 897 transition: opacity 0.2s ease; 898 } 899} 900.wp-lightbox-container button:focus-visible { 901 outline: 3px auto rgba(90, 90, 90, 0.25); 902 outline: 3px auto -webkit-focus-ring-color; 903 outline-offset: 3px; 904} 905.wp-lightbox-container button:hover { 906 cursor: pointer; 907 opacity: 1; 908} 909.wp-lightbox-container button:focus { 910 opacity: 1; 911} 912.wp-lightbox-container button:hover, .wp-lightbox-container button:focus, .wp-lightbox-container button:not(:hover):not(:active):not(.has-background) { 913 background-color: rgba(90, 90, 90, 0.25); 914 border: none; 915} 916 917.wp-lightbox-overlay { 918 position: fixed; 919 top: 0; 920 left: 0; 921 z-index: 100000; 922 overflow: hidden; 923 width: 100%; 924 height: 100vh; 925 box-sizing: border-box; 926 visibility: hidden; 927 cursor: zoom-out; 928} 929.wp-lightbox-overlay .wp-lightbox-close-button { 930 font-family: inherit; 931 position: absolute; 932 top: calc(env(safe-area-inset-top) + 16px); 933 right: calc(env(safe-area-inset-right) + 16px); 934 padding: 0 4px; 935 cursor: pointer; 936 z-index: 5000000; 937 min-width: 40px; 938 min-height: 40px; 939 display: flex; 940 gap: 8px; 941 align-items: center; 942 justify-content: center; 943 line-height: 1; 944} 945.wp-lightbox-overlay .wp-lightbox-close-button:hover, .wp-lightbox-overlay .wp-lightbox-close-button:focus, .wp-lightbox-overlay .wp-lightbox-close-button:not(:hover):not(:active):not(.has-background) { 946 background: none; 947 border: none; 948} 949.wp-lightbox-overlay .wp-lightbox-close-button:has(.wp-lightbox-close-text:not([hidden])) .wp-lightbox-close-icon svg { 950 height: 1em; 951 width: 1em; 952} 953.wp-lightbox-overlay .wp-lightbox-close-icon svg { 954 display: block; 955} 956.wp-lightbox-overlay .wp-lightbox-navigation-button-prev, 957.wp-lightbox-overlay .wp-lightbox-navigation-button-next { 958 position: absolute; 959 padding: 0 8px; 960 z-index: 2000002; 961 font-family: inherit; 962 min-width: 40px; 963 min-height: 40px; 964 gap: 4px; 965 display: flex; 966 cursor: pointer; 967 align-items: center; 968 justify-content: center; 969 bottom: 16px; 970 line-height: 1; 971} 972.wp-lightbox-overlay .wp-lightbox-navigation-button-prev[hidden], 973.wp-lightbox-overlay .wp-lightbox-navigation-button-next[hidden] { 974 display: none; 975} 976@media (min-width: 960px) { 977 .wp-lightbox-overlay .wp-lightbox-navigation-button-prev, 978 .wp-lightbox-overlay .wp-lightbox-navigation-button-next { 979 bottom: 50%; 980 transform: translateY(-50%); 981 } 982} 983.wp-lightbox-overlay .wp-lightbox-navigation-button-prev:hover, .wp-lightbox-overlay .wp-lightbox-navigation-button-prev:focus, .wp-lightbox-overlay .wp-lightbox-navigation-button-prev:not(:hover):not(:active):not(.has-background), 984.wp-lightbox-overlay .wp-lightbox-navigation-button-next:hover, 985.wp-lightbox-overlay .wp-lightbox-navigation-button-next:focus, 986.wp-lightbox-overlay .wp-lightbox-navigation-button-next:not(:hover):not(:active):not(.has-background) { 987 background: none; 988 border: none; 989 padding: 0 8px; 990} 991.wp-lightbox-overlay .wp-lightbox-navigation-button-prev:has(.wp-lightbox-navigation-text:not([hidden])) .wp-lightbox-navigation-icon svg, 992.wp-lightbox-overlay .wp-lightbox-navigation-button-next:has(.wp-lightbox-navigation-text:not([hidden])) .wp-lightbox-navigation-icon svg { 993 width: 1.5em; 994 height: 1.5em; 995 display: block; 996} 997.wp-lightbox-overlay .wp-lightbox-navigation-button-prev { 998 left: calc(env(safe-area-inset-left) + 16px); 999} 1000.wp-lightbox-overlay .wp-lightbox-navigation-button-next { 1001 right: calc(env(safe-area-inset-right) + 16px); 1002} 1003.wp-lightbox-overlay .wp-lightbox-navigation-icon svg { 1004 vertical-align: middle; 1005} 1006.wp-lightbox-overlay .lightbox-image-container { 1007 position: absolute; 1008 overflow: hidden; 1009 top: 50%; 1010 left: 50%; 1011 transform-origin: top left; 1012 transform: translate(-50%, -50%); 1013 width: var(--wp--lightbox-container-width); 1014 height: var(--wp--lightbox-container-height); 1015 z-index: 2000001; 1016} 1017.wp-lightbox-overlay .wp-block-image { 1018 position: relative; 1019 transform-origin: 0 0; 1020 display: flex; 1021 width: 100%; 1022 height: 100%; 1023 justify-content: center; 1024 align-items: center; 1025 box-sizing: border-box; 1026 z-index: 3000000; 1027 margin: 0; 1028} 1029.wp-lightbox-overlay .wp-block-image img { 1030 min-width: var(--wp--lightbox-image-width); 1031 min-height: var(--wp--lightbox-image-height); 1032 width: var(--wp--lightbox-image-width); 1033 height: var(--wp--lightbox-image-height); 1034} 1035.wp-lightbox-overlay .wp-block-image figcaption { 1036 display: none; 1037} 1038.wp-lightbox-overlay button { 1039 border: none; 1040 background: none; 1041} 1042.wp-lightbox-overlay .scrim { 1043 width: 100%; 1044 height: 100%; 1045 position: absolute; 1046 z-index: 2000000; 1047 background-color: rgb(255, 255, 255); 1048 opacity: 0.9; 1049} 1050.wp-lightbox-overlay.active { 1051 visibility: visible; 1052} 1053@media not (prefers-reduced-motion) { 1054 .wp-lightbox-overlay.active { 1055 animation: both turn-on-visibility 0.25s; 1056 } 1057} 1058@media not (prefers-reduced-motion) { 1059 .wp-lightbox-overlay.active img { 1060 animation: both turn-on-visibility 0.35s; 1061 } 1062} 1063@media not (prefers-reduced-motion) { 1064 .wp-lightbox-overlay.show-closing-animation:not(.active) { 1065 animation: both turn-off-visibility 0.35s; 1066 } 1067} 1068@media not (prefers-reduced-motion) { 1069 .wp-lightbox-overlay.show-closing-animation:not(.active) img { 1070 animation: both turn-off-visibility 0.25s; 1071 } 1072} 1073@media not (prefers-reduced-motion) { 1074 .wp-lightbox-overlay.zoom.active { 1075 opacity: 1; 1076 visibility: visible; 1077 animation: none; 1078 } 1079 .wp-lightbox-overlay.zoom.active .lightbox-image-container { 1080 animation: lightbox-zoom-in 0.4s; 1081 } 1082 .wp-lightbox-overlay.zoom.active .lightbox-image-container img { 1083 animation: none; 1084 } 1085 .wp-lightbox-overlay.zoom.active .scrim { 1086 animation: turn-on-visibility 0.4s forwards; 1087 } 1088 .wp-lightbox-overlay.zoom.show-closing-animation:not(.active) { 1089 animation: none; 1090 } 1091 .wp-lightbox-overlay.zoom.show-closing-animation:not(.active) .lightbox-image-container { 1092 animation: lightbox-zoom-out 0.4s; 1093 } 1094 .wp-lightbox-overlay.zoom.show-closing-animation:not(.active) .lightbox-image-container img { 1095 animation: none; 1096 } 1097 .wp-lightbox-overlay.zoom.show-closing-animation:not(.active) .scrim { 1098 animation: turn-off-visibility 0.4s forwards; 1099 } 1100} 1101 1102@keyframes show-content-image { 1103 0% { 1104 visibility: hidden; 1105 } 1106 99% { 1107 visibility: hidden; 1108 } 1109 100% { 1110 visibility: visible; 1111 } 1112} 1113@keyframes turn-on-visibility { 1114 0% { 1115 opacity: 0; 1116 } 1117 100% { 1118 opacity: 1; 1119 } 1120} 1121@keyframes turn-off-visibility { 1122 0% { 1123 opacity: 1; 1124 visibility: visible; 1125 } 1126 99% { 1127 opacity: 0; 1128 visibility: visible; 1129 } 1130 100% { 1131 opacity: 0; 1132 visibility: hidden; 1133 } 1134} 1135@keyframes lightbox-zoom-in { 1136 0% { 1137 transform: translate(calc((-100vw + var(--wp--lightbox-scrollbar-width)) / 2 + var(--wp--lightbox-initial-left-position)), calc(-50vh + var(--wp--lightbox-initial-top-position))) scale(var(--wp--lightbox-scale)); 1138 } 1139 100% { 1140 transform: translate(-50%, -50%) scale(1, 1); 1141 } 1142} 1143@keyframes lightbox-zoom-out { 1144 0% { 1145 visibility: visible; 1146 transform: translate(-50%, -50%) scale(1, 1); 1147 } 1148 99% { 1149 visibility: visible; 1150 } 1151 100% { 1152 visibility: hidden; 1153 transform: translate(calc((-100vw + var(--wp--lightbox-scrollbar-width)) / 2 + var(--wp--lightbox-initial-left-position)), calc(-50vh + var(--wp--lightbox-initial-top-position))) scale(var(--wp--lightbox-scale)); 1154 } 1155}
1156/*# sourceURL=https://blogs.embarcadero.com/wp-includes/blocks/image/style.css */ 1157</style> 1158<style id="wp-block-list-inline-css"> 1159/** 1160 * SCSS Variables. 1161 * 1162 * Please use variables from this sheet to ensure consistency across the UI. 1163 * Don't add to this sheet unless you're pretty sure the value will be reused in many places. 1164 * For example, don't add rules to this sheet that affect block visuals. It's purely for UI. 1165 */ 1166/** 1167 * Colors 1168 */ 1169/** 1170 * Fonts & basic variables. 1171 */ 1172/** 1173 * Typography 1174 */ 1175/** 1176 * Grid System. 1177 * https://make.wordpress.org/design/2019/10/31/proposal-a-consistent-spacing-system-for-wordpress/ 1178 */ 1179/** 1180 * Radius scale. 1181 */ 1182/** 1183 * Elevation scale. 1184 */ 1185/** 1186 * Dimensions. 1187 */ 1188/** 1189 * Mobile specific styles 1190 */ 1191/** 1192 * Editor styles. 1193 */ 1194/** 1195 * Block & Editor UI. 1196 */ 1197/** 1198 * Block paddings. 1199 */ 1200/** 1201 * React Native specific. 1202 * These variables do not appear to be used anywhere else. 1203 */ 1204ol, 1205ul { 1206 box-sizing: border-box; 1207} 1208 1209:root :where(.wp-block-list.has-background) { 1210 padding: 1.25em 2.375em; 1211} 1212/*# sourceURL=https://blogs.embarcadero.com/wp-includes/blocks/list/style.css */ 1213</style> 1214<style id="wp-block-paragraph-inline-css"> 1215/** 1216 * SCSS Variables. 1217 * 1218 * Please use variables from this sheet to ensure consistency across the UI. 1219 * Don't add to this sheet unless you're pretty sure the value will be reused in many places. 1220 * For example, don't add rules to this sheet that affect block visuals. It's purely for UI. 1221 */ 1222/** 1223 * Colors 1224 */ 1225/** 1226 * Fonts & basic variables. 1227 */ 1228/** 1229 * Typography 1230 */ 1231/** 1232 * Grid System. 1233 * https://make.wordpress.org/design/2019/10/31/proposal-a-consistent-spacing-system-for-wordpress/ 1234 */ 1235/** 1236 * Radius scale. 1237 */ 1238/** 1239 * Elevation scale. 1240 */ 1241/** 1242 * Dimensions. 1243 */ 1244/** 1245 * Mobile specific styles 1246 */ 1247/** 1248 * Editor styles. 1249 */ 1250/** 1251 * Block & Editor UI. 1252 */ 1253/** 1254 * Block paddings. 1255 */ 1256/** 1257 * React Native specific. 1258 * These variables do not appear to be used anywhere else. 1259 */ 1260.is-small-text { 1261 font-size: 0.875em; 1262} 1263 1264.is-regular-text { 1265 font-size: 1em; 1266} 1267 1268.is-large-text { 1269 font-size: 2.25em; 1270} 1271 1272.is-larger-text { 1273 font-size: 3em; 1274} 1275 1276.has-drop-cap:not(:focus)::first-letter { 1277 float: left; 1278 font-size: 8.4em; 1279 line-height: 0.68; 1280 font-weight: 100; 1281 margin: 0.05em 0.1em 0 0; 1282 text-transform: uppercase; 1283 font-style: normal; 1284} 1285 1286body.rtl .has-drop-cap:not(:focus)::first-letter { 1287 float: initial; 1288 margin-left: 0.1em; 1289} 1290 1291p.has-drop-cap.has-background { 1292 overflow: hidden; 1293} 1294 1295:root :where(p.has-background) { 1296 padding: 1.25em 2.375em; 1297} 1298 1299:where(p.has-text-color:not(.has-link-color)) a { 1300 color: inherit; 1301} 1302 1303p.has-text-align-right[style*="writing-mode:vertical-rl"], 1304p.has-text-align-left[style*="writing-mode:vertical-lr"] { 1305 rotate: 180deg; 1306} 1307/*# sourceURL=https://blogs.embarcadero.com/wp-includes/blocks/paragraph/style.css */ 1308</style> 1309<style id="wp-block-buttons-inline-css"> 1310.wp-block-buttons { 1311 box-sizing: border-box; 1312} 1313.wp-block-buttons.is-vertical { 1314 flex-direction: column; 1315} 1316.wp-block-buttons.is-vertical > .wp-block-button:last-child { 1317 margin-bottom: 0; 1318} 1319.wp-block-buttons > .wp-block-button { 1320 display: inline-block; 1321 margin: 0; 1322} 1323.wp-block-buttons.is-content-justification-left { 1324 justify-content: flex-start; 1325} 1326.wp-block-buttons.is-content-justification-left.is-vertical { 1327 align-items: flex-start; 1328} 1329.wp-block-buttons.is-content-justification-center { 1330 justify-content: center; 1331} 1332.wp-block-buttons.is-content-justification-center.is-vertical { 1333 align-items: center; 1334} 1335.wp-block-buttons.is-content-justification-right { 1336 justify-content: flex-end; 1337} 1338.wp-block-buttons.is-content-justification-right.is-vertical { 1339 align-items: flex-end; 1340} 1341.wp-block-buttons.is-content-justification-space-between { 1342 justify-content: space-between; 1343} 1344.wp-block-buttons.aligncenter { 1345 text-align: center; 1346} 1347.wp-block-buttons { 1348 /* stylelint-disable @stylistic/indentation -- Disable the stylelint rule, otherwise this selector is ugly! */ 1349} 1350.wp-block-buttons:not(.is-content-justification-space-between, 1351.is-content-justification-right, 1352.is-content-justification-left, 1353.is-content-justification-center) .wp-block-button.aligncenter { 1354 /* stylelint-enable @stylistic/indentation */ 1355 margin-left: auto; 1356 margin-right: auto; 1357 width: 100%; 1358} 1359.wp-block-buttons[style*=text-decoration] .wp-block-button, 1360.wp-block-buttons[style*=text-decoration] .wp-block-button__link { 1361 text-decoration: inherit; 1362} 1363.wp-block-buttons.has-custom-font-size .wp-block-button__link { 1364 font-size: inherit; 1365} 1366.wp-block-buttons .wp-block-button__link { 1367 width: 100%; 1368} 1369 1370.wp-block-button.aligncenter { 1371 text-align: center; 1372}
1373/*# sourceURL=https://blogs.embarcadero.com/wp-includes/blocks/buttons/style.css */ 1374</style> 1375<style id="wp-block-embed-inline-css"> 1376/** 1377 * Breakpoints & Media Queries 1378 */ 1379/** 1380 * Typography 1381 */ 1382/** 1383 * SCSS Variables. 1384 * 1385 * Please use variables from this sheet to ensure consistency across the UI. 1386 * Don't add to this sheet unless you're pretty sure the value will be reused in many places. 1387 * For example, don't add rules to this sheet that affect block visuals. It's purely for UI. 1388 */ 1389/** 1390 * Colors 1391 */ 1392/** 1393 * Fonts & basic variables. 1394 */ 1395/** 1396 * Typography 1397 */ 1398/** 1399 * Grid System. 1400 * https://make.wordpress.org/design/2019/10/31/proposal-a-consistent-spacing-system-for-wordpress/ 1401 */ 1402/** 1403 * Radius scale. 1404 */ 1405/** 1406 * Elevation scale. 1407 */ 1408/** 1409 * Dimensions. 1410 */ 1411/** 1412 * Mobile specific styles 1413 */ 1414/** 1415 * Editor styles. 1416 */ 1417/** 1418 * Block & Editor UI. 1419 */ 1420/** 1421 * Block paddings. 1422 */ 1423/** 1424 * React Native specific. 1425 * These variables do not appear to be used anywhere else. 1426 */ 1427/** 1428* Converts a hex value into the rgb equivalent. 1429* 1430* @param {string} hex - the hexadecimal value to convert 1431* @return {string} comma separated rgb values 1432*/ 1433/** 1434 * Long content fade mixin 1435 * 1436 * Creates a fading overlay to signify that the content is longer 1437 * than the space allows. 1438 */ 1439/** 1440 * Breakpoint mixins 1441 */ 1442/** 1443 * Focus styles. 1444 */ 1445/** 1446 * Applies editor left position to the selector passed as argument 1447 */ 1448/** 1449 * Styles that are reused verbatim in a few places 1450 */ 1451/** 1452 * Allows users to opt-out of animations via OS-level preferences. 1453 */ 1454/** 1455 * Reset default styles for JavaScript UI based pages. 1456 * This is a WP-admin agnostic reset 1457 */ 1458/** 1459 * Reset the WP Admin page styles for Gutenberg-like pages. 1460 */ 1461/** 1462 * Creates a checkerboard pattern background to indicate transparency. 1463 * @param {String} $size - The size of the squares in the checkerboard pattern. Default is 12px. 1464 */ 1465.wp-block[data-align=left] > [data-type="core/embed"], 1466.wp-block[data-align=right] > [data-type="core/embed"], 1467.wp-block-embed.alignleft, 1468.wp-block-embed.alignright { 1469 max-width: 360px; 1470 width: 100%; 1471} 1472.wp-block[data-align=left] > [data-type="core/embed"] .wp-block-embed__wrapper, 1473.wp-block[data-align=right] > [data-type="core/embed"] .wp-block-embed__wrapper, 1474.wp-block-embed.alignleft .wp-block-embed__wrapper, 1475.wp-block-embed.alignright .wp-block-embed__wrapper { 1476 min-width: 280px; 1477} 1478 1479.wp-block-cover .wp-block-embed { 1480 min-width: 320px; 1481 min-height: 240px; 1482} 1483 1484.wp-block-group.is-layout-flex .wp-block-embed { 1485 flex: 1 1 0%; 1486 min-width: 0; 1487} 1488 1489.wp-block-embed { 1490 overflow-wrap: break-word; 1491} 1492.wp-block-embed :where(figcaption) { 1493 margin-top: 0.5em; 1494 margin-bottom: 1em; 1495} 1496.wp-block-embed iframe { 1497 max-width: 100%; 1498} 1499 1500.wp-block-embed__wrapper { 1501 position: relative; 1502} 1503 1504.wp-embed-responsive .wp-has-aspect-ratio .wp-block-embed__wrapper::before { 1505 content: ""; 1506 display: block; 1507 padding-top: 50%; 1508} 1509.wp-embed-responsive .wp-has-aspect-ratio iframe { 1510 position: absolute; 1511 top: 0; 1512 right: 0; 1513 bottom: 0; 1514 left: 0; 1515 height: 100%; 1516 width: 100%; 1517} 1518 1519.wp-embed-responsive .wp-embed-aspect-21-9 .wp-block-embed__wrapper::before { 1520 padding-top: 42.85%; 1521} 1522.wp-embed-responsive .wp-embed-aspect-18-9 .wp-block-embed__wrapper::before { 1523 padding-top: 50%; 1524} 1525.wp-embed-responsive .wp-embed-aspect-16-9 .wp-block-embed__wrapper::before { 1526 padding-top: 56.25%; 1527} 1528.wp-embed-responsive .wp-embed-aspect-4-3 .wp-block-embed__wrapper::before { 1529 padding-top: 75%; 1530} 1531.wp-embed-responsive .wp-embed-aspect-1-1 .wp-block-embed__wrapper::before { 1532 padding-top: 100%; 1533} 1534.wp-embed-responsive .wp-embed-aspect-9-16 .wp-block-embed__wrapper::before { 1535 padding-top: 177.77%; 1536} 1537.wp-embed-responsive .wp-embed-aspect-1-2 .wp-block-embed__wrapper::before { 1538 padding-top: 200%; 1539} 1540/*# sourceURL=https://blogs.embarcadero.com/wp-includes/blocks/embed/style.css */ 1541</style> 1542<style id="wp-block-group-inline-css"> 1543.wp-block-group { 1544 box-sizing: border-box; 1545} 1546 1547:where(.wp-block-group.wp-block-group-is-layout-constrained) { 1548 position: relative; 1549} 1550/*# sourceURL=https://blogs.embarcadero.com/wp-includes/blocks/group/style.css */ 1551</style> 1552<style id="wp-block-preformatted-inline-css"> 1553/** 1554 * SCSS Variables. 1555 * 1556 * Please use variables from this sheet to ensure consistency across the UI. 1557 * Don't add to this sheet unless you're pretty sure the value will be reused in many places. 1558 * For example, don't add rules to this sheet that affect block visuals. It's purely for UI. 1559 */ 1560/** 1561 * Colors 1562 */ 1563/** 1564 * Fonts & basic variables. 1565 */ 1566/** 1567 * Typography 1568 */ 1569/** 1570 * Grid System. 1571 * https://make.wordpress.org/design/2019/10/31/proposal-a-consistent-spacing-system-for-wordpress/ 1572 */ 1573/** 1574 * Radius scale. 1575 */ 1576/** 1577 * Elevation scale. 1578 */ 1579/** 1580 * Dimensions. 1581 */ 1582/** 1583 * Mobile specific styles 1584 */ 1585/** 1586 * Editor styles. 1587 */ 1588/** 1589 * Block & Editor UI. 1590 */ 1591/** 1592 * Block paddings. 1593 */ 1594/** 1595 * React Native specific. 1596 * These variables do not appear to be used anywhere else. 1597 */ 1598.wp-block-preformatted { 1599 box-sizing: border-box; 1600 white-space: pre-wrap; 1601} 1602 1603:where(.wp-block-preformatted.has-background) { 1604 padding: 1.25em 2.375em; 1605}
1606/*# sourceURL=https://blogs.embarcadero.com/wp-includes/blocks/preformatted/style.css */ 1607</style> 1608<style id="wp-block-table-inline-css"> 1609/** 1610 * Colors 1611 */ 1612/** 1613 * SCSS Variables. 1614 * 1615 * Please use variables from this sheet to ensure consistency across the UI. 1616 * Don't add to this sheet unless you're pretty sure the value will be reused in many places. 1617 * For example, don't add rules to this sheet that affect block visuals. It's purely for UI. 1618 */ 1619/** 1620 * Fonts & basic variables. 1621 */ 1622/** 1623 * Typography 1624 */ 1625/** 1626 * Grid System. 1627 * https://make.wordpress.org/design/2019/10/31/proposal-a-consistent-spacing-system-for-wordpress/ 1628 */ 1629/** 1630 * Radius scale. 1631 */ 1632/** 1633 * Elevation scale. 1634 */ 1635/** 1636 * Dimensions. 1637 */ 1638/** 1639 * Mobile specific styles 1640 */ 1641/** 1642 * Editor styles. 1643 */ 1644/** 1645 * Block & Editor UI. 1646 */ 1647/** 1648 * Block paddings. 1649 */ 1650/** 1651 * React Native specific. 1652 * These variables do not appear to be used anywhere else. 1653 */ 1654.wp-block-table { 1655 overflow-x: auto; 1656} 1657.wp-block-table table { 1658 border-collapse: collapse; 1659 width: 100%; 1660} 1661.wp-block-table thead { 1662 border-bottom: 3px solid; 1663} 1664.wp-block-table tfoot { 1665 border-top: 3px solid; 1666} 1667.wp-block-table td, 1668.wp-block-table th { 1669 border: 1px solid; 1670 padding: 0.5em; 1671} 1672.wp-block-table .has-fixed-layout { 1673 table-layout: fixed; 1674 width: 100%; 1675} 1676.wp-block-table .has-fixed-layout td, 1677.wp-block-table .has-fixed-layout th { 1678 word-break: break-word; 1679} 1680.wp-block-table.alignleft, .wp-block-table.aligncenter, .wp-block-table.alignright { 1681 display: table; 1682 width: auto; 1683} 1684.wp-block-table.alignleft td, 1685.wp-block-table.alignleft th, .wp-block-table.aligncenter td, 1686.wp-block-table.aligncenter th, .wp-block-table.alignright td, 1687.wp-block-table.alignright th { 1688 word-break: break-word; 1689} 1690.wp-block-table .has-subtle-light-gray-background-color { 1691 background-color: #f3f4f5; 1692} 1693.wp-block-table .has-subtle-pale-green-background-color { 1694 background-color: #e9fbe5; 1695} 1696.wp-block-table .has-subtle-pale-blue-background-color { 1697 background-color: #e7f5fe; 1698} 1699.wp-block-table .has-subtle-pale-pink-background-color { 1700 background-color: #fcf0ef; 1701} 1702.wp-block-table.is-style-stripes { 1703 border-spacing: 0; 1704 border-collapse: inherit; 1705 background-color: transparent; 1706} 1707.wp-block-table.is-style-stripes tbody tr:nth-child(odd) { 1708 background-color: #f0f0f0; 1709} 1710.wp-block-table.is-style-stripes.has-subtle-light-gray-background-color tbody tr:nth-child(odd) { 1711 background-color: #f3f4f5; 1712} 1713.wp-block-table.is-style-stripes.has-subtle-pale-green-background-color tbody tr:nth-child(odd) { 1714 background-color: #e9fbe5; 1715} 1716.wp-block-table.is-style-stripes.has-subtle-pale-blue-background-color tbody tr:nth-child(odd) { 1717 background-color: #e7f5fe; 1718} 1719.wp-block-table.is-style-stripes.has-subtle-pale-pink-background-color tbody tr:nth-child(odd) { 1720 background-color: #fcf0ef; 1721} 1722.wp-block-table.is-style-stripes th, 1723.wp-block-table.is-style-stripes td { 1724 border-color: transparent; 1725} 1726.wp-block-table.is-style-stripes { 1727 border-bottom: 1px solid #f0f0f0; 1728} 1729.wp-block-table .has-border-color > *, 1730.wp-block-table .has-border-color tr, 1731.wp-block-table .has-border-color th, 1732.wp-block-table .has-border-color td { 1733 border-color: inherit; 1734} 1735.wp-block-table table[style*=border-top-color] > *, 1736.wp-block-table table[style*=border-top-color] tr:first-child { 1737 border-top-color: inherit; 1738} 1739.wp-block-table table[style*=border-top-color] > * th, 1740.wp-block-table table[style*=border-top-color] > * td, 1741.wp-block-table table[style*=border-top-color] tr:first-child th, 1742.wp-block-table table[style*=border-top-color] tr:first-child td { 1743 border-top-color: inherit; 1744} 1745.wp-block-table table[style*=border-top-color] tr:not(:first-child) { 1746 border-top-color: currentColor; 1747} 1748.wp-block-table table[style*=border-right-color] > *, 1749.wp-block-table table[style*=border-right-color] tr, 1750.wp-block-table table[style*=border-right-color] th, 1751.wp-block-table table[style*=border-right-color] td:last-child { 1752 border-right-color: inherit; 1753} 1754.wp-block-table table[style*=border-bottom-color] > *, 1755.wp-block-table table[style*=border-bottom-color] tr:last-child { 1756 border-bottom-color: inherit; 1757} 1758.wp-block-table table[style*=border-bottom-color] > * th, 1759.wp-block-table table[style*=border-bottom-color] > * td, 1760.wp-block-table table[style*=border-bottom-color] tr:last-child th, 1761.wp-block-table table[style*=border-bottom-color] tr:last-child td { 1762 border-bottom-color: inherit; 1763} 1764.wp-block-table table[style*=border-bottom-color] tr:not(:last-child) { 1765 border-bottom-color: currentColor; 1766} 1767.wp-block-table table[style*=border-left-color] > *, 1768.wp-block-table table[style*=border-left-color] tr, 1769.wp-block-table table[style*=border-left-color] th, 1770.wp-block-table table[style*=border-left-color] td:first-child { 1771 border-left-color: inherit; 1772} 1773.wp-block-table table[style*=border-style] > *, 1774.wp-block-table table[style*=border-style] tr, 1775.wp-block-table table[style*=border-style] th, 1776.wp-block-table table[style*=border-style] td { 1777 border-style: inherit; 1778} 1779.wp-block-table table[style*=border-width] > *, 1780.wp-block-table table[style*=border-width] tr, 1781.wp-block-table table[style*=border-width] th, 1782.wp-block-table table[style*=border-width] td { 1783 border-width: inherit; 1784 border-style: inherit; 1785}
1786/*# sourceURL=https://blogs.embarcadero.com/wp-includes/blocks/table/style.css */ 1787</style> 1788 1789<style id="classic-theme-styles-inline-css"> 1790/** 1791 * These rules are needed for backwards compatibility. 1792 * They should match the button element rules in the base theme.json file. 1793 */ 1794.wp-block-button__link { 1795 color: #ffffff; 1796 background-color: #32373c; 1797 border-radius: 9999px; /* 100% causes an oval, but any explicit but really high value retains the pill shape. */ 1798 1799 /* This needs a low specificity so it won't override the rules from the button element if defined in theme.json. */ 1800 box-shadow: none; 1801 text-decoration: none; 1802 1803 /* The extra 2px are added to size solids the same as the outline versions.*/ 1804 padding: calc(0.667em + 2px) calc(1.333em + 2px); 1805 1806 font-size: 1.125em; 1807} 1808 1809.wp-block-file__button { 1810 background: #32373c; 1811 color: #ffffff; 1812 text-decoration: none; 1813} 1814 1815/*# sourceURL=/wp-includes/css/classic-themes.css */ 1816</style> 1817 1818<style id="global-styles-inline-css"> 1819:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgb(6,147,227) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgb(252,185,0) 0%,rgb(255,105,0) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgb(255,105,0) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);
1819--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);--wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);}:where(body) { margin: 0; }:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}body{padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;}:root :where(.wp-element-button, .wp-block-button__link){background-color: #32373c;border-width: 0;color: #fff;font-family: inherit;font-size: inherit;font-style: inherit;font-weight: inherit;letter-spacing: inherit;line-height: inherit;padding-top: calc(0.667em + 2px);padding-right: calc(1.333em + 2px);padding-bottom: calc(0.667em + 2px);padding-left: calc(1.333em + 2px);text-decoration: none;text-transform: inherit;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}
1819.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;} 1820/*# sourceURL=global-styles-inline-css */ 1821</style> 1822 1823<link rel='stylesheet' id='responsive-lightbox-featherlight-css' href='https://blogs.embarcadero.com/wp-content/plugins/responsive-lightbox/assets/featherlight/featherlight.css' media='all' /> 1824<link rel='stylesheet' id='responsive-lightbox-featherlight-gallery-css' href='https://blogs.embarcadero.com/wp-content/plugins/responsive-lightbox/assets/featherlight/featherlight.gallery.css' media='all' /> 1825<style id="jetpack-stats-inline-css"> 1826img#wpstats{display:none} 1827/*# sourceURL=jetpack-stats-inline-css */ 1828</style> 1829<link rel='stylesheet' id='bootstrap-css' href='https://blogs.embarcadero.com/wp-content/themes/saxon/css/bootstrap.css' media='all' /> 1830<link rel='stylesheet' id='owl-main-css' href='https://blogs.embarcadero.com/wp-content/themes/saxon/js/owl-carousel/owl.carousel.css' media='all' /> 1831<link rel='stylesheet' id='saxon-stylesheet-css' href='https://blogs.embarcadero.com/wp-content/themes/saxon/style.css' media='all' /> 1832<link rel='stylesheet' id='saxon-responsive-css' href='https://blogs.embarcadero.com/wp-content/themes/saxon/responsive.css' media='all' /> 1833<link rel='stylesheet' id='saxon-animations-css' href='https://blogs.embarcadero.com/wp-content/themes/saxon/css/animations.css' media='all' /> 1834<link rel='stylesheet' id='font-awesome-css' href='https://blogs.embarcadero.com/wp-content/themes/saxon/css/font-awesome.css' media='all' /> 1835<link rel='stylesheet' id='saxon-select2-css' href='https://blogs.embarcadero.com/wp-content/themes/saxon/js/select2/select2.css' media='all' /> 1836<link rel='stylesheet' id='swiper-css' href='https://blogs.embarcadero.com/wp-content/themes/saxon/css/idangerous.swiper.css' media='all' /> 1837<link rel='stylesheet' id='aos-css' href='https://blogs.embarcadero.com/wp-content/themes/saxon/js/aos/aos.css' media='all' /> 1838<link rel='stylesheet' id='dashicons-css' href='https://blogs.embarcadero.com/wp-includes/css/dashicons.css' media='all' /> 1839<link rel='stylesheet' id='thickbox-css' href='https://blogs.embarcadero.com/wp-includes/js/thickbox/thickbox.css' media='all' /> 1840<link rel='stylesheet' id='saxon-mega-menu-css' href='https://blogs.embarcadero.com/wp-content/themes/saxon/inc/modules/mega-menu/css/mega-menu.css' media='all' /> 1841<link rel='stylesheet' id='saxon-mega-menu-responsive-css' href='https://blogs.embarcadero.com/wp-content/themes/saxon/inc/modules/mega-menu/css/mega-menu-responsive.css' media='all' /> 1842<link rel='stylesheet' id='erv-skin-css' href='https://blogs.embarcadero.com/wp-content/plugins/readerview/assets/css/erv_style.css' media='all' /> 1843<link rel='stylesheet' id='erv-theme-css' href='https://blogs.embarcadero.com/wp-content/plugins/readerview/assets/css/erv_theme.css' media='all' /> 1844<link rel='stylesheet' id='erv-animate-css' href='https://blogs.embarcadero.com/wp-content/plugins/readerview/assets/css/readerview-animate.css' media='all' /> 1845<link rel='stylesheet' id='erv-font-awesome-min-css' href='https://blogs.embarcadero.
1845com/wp-content/plugins/readerview/assets/css/font-awesome.min.css' media='all' /> 1846<link rel='stylesheet' id='colorbox-css-css' href='https://blogs.embarcadero.com/wp-content/plugins/readerview/assets/css/readerview-colorbox.css' media='all' /> 1847<link rel='stylesheet' id='style-cache-saxon-css' href='https://blogs.embarcadero.com/wp-content/uploads/style-cache-saxon.css' media='all' /> 1848<style type="text/css">@font-face {font-family:'Source Sans Pro';font-style:normal;font-weight:400;src:url(/cf-fonts/s/source-sans-pro/5.2.4/latin-ext/400/normal.woff2);unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;font-display:swap;}@font-face {font-family:'Source Sans Pro';font-style:normal;font-weight:400;src:url(/cf-fonts/s/source-sans-pro/5.2.4/vietnamese/400/normal.woff2);unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;font-display:swap;}@font-face {font-family:'Source Sans Pro';font-style:normal;font-weight:400;src:url(/cf-fonts/s/source-sans-pro/5.2.4/cyrillic/400/normal.woff2);unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;font-display:swap;}@font-face {font-family:'Source Sans Pro';font-style:normal;font-weight:400;src:url(/cf-fonts/s/source-sans-pro/5.2.4/cyrillic-ext/400/normal.woff2);unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;font-display:swap;}@font-face {font-family:'Source Sans Pro';font-style:normal;font-weight:400;src:url(/cf-fonts/s/source-sans-pro/5.2.4/greek-ext/400/normal.woff2);unicode-range:U+1F00-1FFF;font-display:swap;}@font-face {font-family:'Source Sans Pro';font-style:normal;font-weight:400;src:url(/cf-fonts/s/source-sans-pro/5.2.4/greek/400/normal.woff2);unicode-range:U+0370-03FF;font-display:swap;}@font-face {font-family:'Source Sans Pro';font-style:normal;font-weight:400;src:url(/cf-fonts/s/source-sans-pro/5.2.4/latin/400/normal.woff2);unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-display:swap;}@font-face {font-family:'Source Sans Pro';font-style:normal;font-weight:600;src:url(/cf-fonts/s/source-sans-pro/5.2.4/greek-ext/600/normal.woff2);unicode-range:U+1F00-1FFF;font-display:swap;}@font-face {font-family:'Source Sans Pro';font-style:normal;font-weight:600;src:url(/cf-fonts/s/source-sans-pro/5.2.4/latin-ext/600/normal.woff2);unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;font-display:swap;}@font-face {font-family:'Source Sans Pro';font-style:normal;font-weight:600;src:url(/cf-fonts/s/source-sans-pro/5.2.4/cyrillic/600/normal.woff2);unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;font-display:swap;}@font-face {font-family:'Source Sans Pro';font-style:normal;font-weight:600;src:url(/cf-fonts/s/source-sans-pro/5.2.4/vietnamese/600/normal.woff2);unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;font-display:swap;}@font-face {font-family:'Source Sans Pro';font-style:normal;font-weight:600;src:url(/cf-fonts/s/source-sans-pro/5.2.4/latin/600/normal.woff2);unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-display:swap;}@font-face {font-family:'Source Sans Pro';font-style:normal;font-weight:600;src:url(/cf-fonts/s/source-sans-pro/5.2.4/greek/600/normal.woff2);unicode-range:U+0370-03FF;font-display:swap;}@font-face {font-family:'Source Sans Pro';font-style:normal;font-weight:600;src:url(/cf-fonts/s/source-sans-pro/5.2.4/cyrillic-ext/600/normal.woff2);unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;font-display:swap;}@font-face {font-family:'Source Sans Pro';font-style:normal;font-weight:700;src:url(/cf-fonts/s/source-sans-pro/5.2.4/greek/700/normal.woff2);
1848unicode-range:U+0370-03FF;font-display:swap;}@font-face {font-family:'Source Sans Pro';font-style:normal;font-weight:700;src:url(/cf-fonts/s/source-sans-pro/5.2.4/latin/700/normal.woff2);unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-display:swap;}@font-face {font-family:'Source Sans Pro';font-style:normal;font-weight:700;src:url(/cf-fonts/s/source-sans-pro/5.2.4/vietnamese/700/normal.woff2);unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;font-display:swap;}@font-face {font-family:'Source Sans Pro';font-style:normal;font-weight:700;src:url(/cf-fonts/s/source-sans-pro/5.2.4/cyrillic-ext/700/normal.woff2);unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;font-display:swap;}@font-face {font-family:'Source Sans Pro';font-style:normal;font-weight:700;src:url(/cf-fonts/s/source-sans-pro/5.2.4/greek-ext/700/normal.woff2);unicode-range:U+1F00-1FFF;font-display:swap;}@font-face {font-family:'Source Sans Pro';font-style:normal;font-weight:700;src:url(/cf-fonts/s/source-sans-pro/5.2.4/cyrillic/700/normal.woff2);unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;font-display:swap;}@font-face {font-family:'Source Sans Pro';font-style:normal;font-weight:700;src:url(/cf-fonts/s/source-sans-pro/5.2.4/latin-ext/700/normal.woff2);unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;font-display:swap;}</style> 1849<style type="text/css">@font-face {font-family:'PT Serif';font-style:normal;font-weight:400;src:url(/cf-fonts/s/pt-serif/5.2.8/latin/400/normal.woff2);unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-display:swap;}@font-face {font-family:'PT Serif';font-style:normal;font-weight:400;src:url(/cf-fonts/s/pt-serif/5.2.8/cyrillic/400/normal.woff2);unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;font-display:swap;}@font-face {font-family:'PT Serif';font-style:normal;font-weight:400;src:url(/cf-fonts/s/pt-serif/5.2.8/cyrillic-ext/400/normal.woff2);unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;font-display:swap;}@font-face {font-family:'PT Serif';font-style:normal;font-weight:400;src:url(/cf-fonts/s/pt-serif/5.2.8/latin-ext/400/normal.woff2);unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;font-display:swap;}@font-face {font-family:'PT Serif';font-style:normal;font-weight:700;src:url(/cf-fonts/s/pt-serif/5.2.8/latin/700/normal.woff2);unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-display:swap;}@font-face {font-family:'PT Serif';font-style:normal;font-weight:700;src:url(/cf-fonts/s/pt-serif/5.2.8/cyrillic/700/normal.woff2);unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;font-display:swap;}@font-face {font-family:'PT Serif';font-style:normal;font-weight:700;src:url(/cf-fonts/s/pt-serif/5.2.8/latin-ext/700/normal.woff2);unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;font-display:swap;}@font-face {font-family:'PT Serif';font-style:normal;font-weight:700;src:url(/cf-fonts/s/pt-serif/5.2.8/cyrillic-ext/700/normal.woff2);unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;font-display:swap;}</style> 1850 1851 1852 1853 1854 1855<link rel="https://api.w.org/" href="https://blogs.embarcadero.com/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://blogs.embarcadero.
1855com/wp-json/wp/v2/categories/1" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://blogs.embarcadero.com/xmlrpc.php?rsd" /> 1856<meta name="generator" content="WordPress 7.0.6" /> 1857<meta name="og:url" content="https://blogs.embarcadero.com/show-us-what-you-built-with-kai-more-giveaways/" /> 1858 <style> 1859 .no-js img.lazyload { 1860 display: none; 1861 } 1862 1863 figure.wp-block-image img.lazyloading { 1864 min-width: 150px; 1865 } 1866 1867 .lazyload, 1868 .lazyloading { 1869 --smush-placeholder-width: 100px; 1870 --smush-placeholder-bg-max-width: 120px; 1871 --smush-placeholder-aspect-ratio: 1/1; 1872 width: var(--smush-image-width, var(--smush-placeholder-width)) !important; 1873 aspect-ratio: var(--smush-image-aspect-ratio, var(--smush-placeholder-aspect-ratio)) !important; 1874 } 1875 1876 .lazyload, .lazyloading { 1877 opacity: 0; 1878 } 1879 1880 .lazyloaded { 1881 opacity: 1; 1882 transition: opacity 400ms; 1883 transition-delay: 0ms; 1884 } 1885 1886 </style> 1887 <!-- There is no amphtml version available for this URL. --> 1888<!-- Jetpack Open Graph Tags --> 1889<meta property="og:type" content="website" /> 1890<meta property="og:title" content="News – Embarcadero RAD Studio, Delphi, & C++Builder Blogs" /> 1891<meta property="og:url" content="https://blogs.embarcadero.com/category/news/" /> 1892<meta property="og:site_name" content="Embarcadero RAD Studio, Delphi, & C++Builder Blogs" /> 1893<meta property="og:image" content="https://blogs.embarcadero.com/wp-content/uploads/2025/09/cropped-android-chrome-512x512-1002932-9994932.png" /> 1894<meta property="og:image:width" content="512" /> 1895<meta property="og:image:height" content="512" /> 1896<meta property="og:image:alt" content="" /> 1897<meta property="og:locale" content="en_US" /> 1898<meta property="og:locale:alternate" content="de_DE" /> 1899<meta property="og:locale:alternate" content="es_MX" /> 1900<meta property="og:locale:alternate" content="fr_FR" /> 1901<meta property="og:locale:alternate" content="pt_BR" /> 1902<meta property="og:locale:alternate" content="ru_RU" /> 1903<meta property="og:locale:alternate" content="ja_JP" /> 1904<meta property="og:locale:alternate" content="it_IT" /> 1905 1906<!-- End Jetpack Open Graph Tags --> 1907<link rel="icon" href="https://blogs.embarcadero.com/wp-content/uploads/2025/09/cropped-android-chrome-512x512-1002932-9994932-32x32.png" sizes="32x32" /> 1908<link rel="icon" href="https://blogs.embarcadero.com/wp-content/uploads/2025/09/cropped-android-chrome-512x512-1002932-9994932-192x192.png" sizes="192x192" /> 1909<link rel="apple-touch-icon" href="https://blogs.embarcadero.com/wp-content/uploads/2025/09/cropped-android-chrome-512x512-1002932-9994932-180x180.png" /> 1910<meta name="msapplication-TileImage" content="https://blogs.embarcadero.com/wp-content/uploads/2025/09/cropped-android-chrome-512x512-1002932-9994932-270x270.png" /> 1911<style id="wp-custom-css"> 1912.header-topline-content { max-height: 20px; overflow: hidden; } 1913.sidebar .widget_rss li { margin-bottom: 0; } 1914.home-only { 1915 display: none; 1916} 1917.home .home-only { 1918 display: block; 1919} 1920</style> 1921<style id="kirki-inline-styles">body{font-family:Roboto;font-size:16px;font-weight:400;color:#000000;}/* vietnamese */ 1922@font-face { 1923 font-family: 'Barlow'; 1924 font-style: normal; 1925 font-weight: 400; 1926 font-display: swap; 1927 src: url(https://blogs.embarcadero.com/wp-content/fonts/barlow/7cHpv4kjgoGqM7E_A8s52Hs.woff2) format('woff2'); 1928 unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; 1929} 1930/* latin-ext */ 1931@font-face { 1932 font-family: 'Barlow'; 1933 font-style: normal; 1934 font-weight: 400; 1935 font-display: swap; 1936 src: url(https://blogs.embarcadero.com/wp-content/fonts/barlow/7cHpv4kjgoGqM7E_Ass52Hs.woff2) format('woff2'); 1937 unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; 1938} 1939/* latin */ 1940@font-face { 1941 font-family: 'Barlow'; 1942 font-style: normal; 1943 font-weight: 400; 1944 font-display: swap;
1945 src: url(https://blogs.embarcadero.com/wp-content/fonts/barlow/7cHpv4kjgoGqM7E_DMs5.woff2) format('woff2'); 1946 unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; 1947}/* cyrillic-ext */ 1948@font-face { 1949 font-family: 'Nunito'; 1950 font-style: normal; 1951 font-weight: 700; 1952 font-display: swap; 1953 src: url(https://blogs.embarcadero.com/wp-content/fonts/nunito/XRXI3I6Li01BKofiOc5wtlZ2di8HDFwmdTk3j77e.woff2) format('woff2'); 1954 unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; 1955} 1956/* cyrillic */ 1957@font-face { 1958 font-family: 'Nunito'; 1959 font-style: normal; 1960 font-weight: 700; 1961 font-display: swap; 1962 src: url(https://blogs.embarcadero.com/wp-content/fonts/nunito/XRXI3I6Li01BKofiOc5wtlZ2di8HDFwmdTA3j77e.woff2) format('woff2'); 1963 unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; 1964} 1965/* vietnamese */ 1966@font-face { 1967 font-family: 'Nunito'; 1968 font-style: normal; 1969 font-weight: 700; 1970 font-display: swap; 1971 src: url(https://blogs.embarcadero.com/wp-content/fonts/nunito/XRXI3I6Li01BKofiOc5wtlZ2di8HDFwmdTs3j77e.woff2) format('woff2'); 1972 unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; 1973} 1974/* latin-ext */ 1975@font-face { 1976 font-family: 'Nunito'; 1977 font-style: normal; 1978 font-weight: 700; 1979 font-display: swap; 1980 src: url(https://blogs.embarcadero.com/wp-content/fonts/nunito/XRXI3I6Li01BKofiOc5wtlZ2di8HDFwmdTo3j77e.woff2) format('woff2'); 1981 unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; 1982} 1983/* latin */ 1984@font-face { 1985 font-family: 'Nunito'; 1986 font-style: normal; 1987 font-weight: 700; 1988 font-display: swap; 1989 src: url(https://blogs.embarcadero.com/wp-content/fonts/nunito/XRXI3I6Li01BKofiOc5wtlZ2di8HDFwmdTQ3jw.woff2) format('woff2'); 1990 unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; 1991}/* cyrillic-ext */ 1992@font-face { 1993 font-family: 'Roboto'; 1994 font-style: normal; 1995 font-weight: 400; 1996 font-stretch: 100%; 1997 font-display: swap; 1998 src: url(https://blogs.embarcadero.com/wp-content/fonts/roboto/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWubEbVmZiArmlw.woff2) format('woff2'); 1999 unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; 2000} 2001/* cyrillic */ 2002@font-face { 2003 font-family: 'Roboto'; 2004 font-style: normal; 2005 font-weight: 400; 2006 font-stretch: 100%; 2007 font-display: swap; 2008 src: url(https://blogs.embarcadero.com/wp-content/fonts/roboto/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWubEbVmQiArmlw.woff2) format('woff2'); 2009 unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; 2010} 2011/* greek-ext */ 2012@font-face { 2013 font-family: 'Roboto'; 2014 font-style: normal; 2015 font-weight: 400; 2016 font-stretch: 100%; 2017 font-display: swap; 2018 src: url(https://blogs.embarcadero.com/wp-content/fonts/roboto/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWubEbVmYiArmlw.woff2) format('woff2'); 2019 unicode-range: U+1F00-1FFF; 2020} 2021/* greek */ 2022@font-face { 2023 font-family: 'Roboto'; 2024 font-style: normal; 2025 font-weight: 400; 2026 font-stretch: 100%; 2027 font-display: swap; 2028 src: url(https://blogs.embarcadero.com/wp-content/fonts/roboto/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWubEbVmXiArmlw.woff2) format('woff2'); 2029 unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; 2030} 2031/* math */ 2032@font-face { 2033 font-family: 'Roboto'; 2034 font-style: normal; 2035 font-weight: 400; 2036 font-stretch: 100%; 2037 font-display: swap; 2038 src: url(https://blogs.embarcadero.com/wp-content/fonts/roboto/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWubEbVnoiArmlw.woff2) format('woff2'); 2039 unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0310, U+0312, U+0315, U+031A, U+0326-0327, U+032C, U+032F-0330, U+0332-0333, U+0338, U+033A, U+0346, U+034D, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2016-2017, U+2034-2
2039038, U+203C, U+2040, U+2043, U+2047, U+2050, U+2057, U+205F, U+2070-2071, U+2074-208E, U+2090-209C, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2100-2112, U+2114-2115, U+2117-2121, U+2123-214F, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B7, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+3030, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF; 2040} 2041/* symbols */ 2042@font-face { 2043 font-family: 'Roboto'; 2044 font-style: normal; 2045 font-weight: 400; 2046 font-stretch: 100%; 2047 font-display: swap; 2048 src: url(https://blogs.embarcadero.com/wp-content/fonts/roboto/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWubEbVn6iArmlw.woff2) format('woff2'); 2049 unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8, U+1FB00-1FBFF; 2050} 2051/* vietnamese */ 2052@font-face { 2053 font-family: 'Roboto'; 2054 font-style: normal; 2055 font-weight: 400; 2056 font-stretch: 100%; 2057 font-display: swap; 2058 src: url(https://blogs.embarcadero.com/wp-content/fonts/roboto/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWubEbVmbiArmlw.woff2) format('woff2'); 2059 unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; 2060} 2061/* latin-ext */ 2062@font-face { 2063 font-family: 'Roboto'; 2064 font-style: normal; 2065 font-weight: 400; 2066 font-stretch: 100%; 2067 font-display: swap; 2068 src: url(https://blogs.embarcadero.com/wp-content/fonts/roboto/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWubEbVmaiArmlw.woff2) format('woff2'); 2069 unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; 2070} 2071/* latin */ 2072@font-face { 2073 font-family: 'Roboto'; 2074 font-style: normal; 2075 font-weight: 400; 2076 font-stretch: 100%; 2077 font-display: swap; 2078 src: url(https://blogs.embarcadero.com/wp-content/fonts/roboto/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWubEbVmUiAo.woff2) format('woff2'); 2079 unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; 2080}/* vietnamese */ 2081@font-face { 2082 font-family: 'Barlow'; 2083 font-style: normal; 2084 font-weight: 400; 2085 font-display: swap; 2086 src: url(https://blogs.embarcadero.com/wp-content/fonts/barlow/7cHpv4kjgoGqM7E_A8s52Hs.woff2) format('woff2'); 2087 unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; 2088} 2089/* latin-ext */ 2090@font-face { 2091 font-family: 'Barlow'; 2092 font-style: normal; 2093 font-weight: 400; 2094 font-display: swap;
2095 src: url(https://blogs.embarcadero.com/wp-content/fonts/barlow/7cHpv4kjgoGqM7E_Ass52Hs.woff2) format('woff2'); 2096 unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; 2097} 2098/* latin */ 2099@font-face { 2100 font-family: 'Barlow'; 2101 font-style: normal; 2102 font-weight: 400; 2103 font-display: swap; 2104 src: url(https://blogs.embarcadero.com/wp-content/fonts/barlow/7cHpv4kjgoGqM7E_DMs5.woff2) format('woff2'); 2105 unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; 2106}/* cyrillic-ext */ 2107@font-face { 2108 font-family: 'Nunito'; 2109 font-style: normal; 2110 font-weight: 700; 2111 font-display: swap; 2112 src: url(https://blogs.embarcadero.com/wp-content/fonts/nunito/XRXI3I6Li01BKofiOc5wtlZ2di8HDFwmdTk3j77e.woff2) format('woff2'); 2113 unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; 2114} 2115/* cyrillic */ 2116@font-face { 2117 font-family: 'Nunito'; 2118 font-style: normal; 2119 font-weight: 700; 2120 font-display: swap; 2121 src: url(https://blogs.embarcadero.com/wp-content/fonts/nunito/XRXI3I6Li01BKofiOc5wtlZ2di8HDFwmdTA3j77e.woff2) format('woff2'); 2122 unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; 2123} 2124/* vietnamese */ 2125@font-face { 2126 font-family: 'Nunito'; 2127 font-style: normal; 2128 font-weight: 700; 2129 font-display: swap; 2130 src: url(https://blogs.embarcadero.com/wp-content/fonts/nunito/XRXI3I6Li01BKofiOc5wtlZ2di8HDFwmdTs3j77e.woff2) format('woff2'); 2131 unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; 2132} 2133/* latin-ext */ 2134@font-face { 2135 font-family: 'Nunito'; 2136 font-style: normal; 2137 font-weight: 700; 2138 font-display: swap; 2139 src: url(https://blogs.embarcadero.com/wp-content/fonts/nunito/XRXI3I6Li01BKofiOc5wtlZ2di8HDFwmdTo3j77e.woff2) format('woff2'); 2140 unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; 2141} 2142/* latin */ 2143@font-face { 2144 font-family: 'Nunito'; 2145 font-style: normal; 2146 font-weight: 700; 2147 font-display: swap; 2148 src: url(https://blogs.embarcadero.com/wp-content/fonts/nunito/XRXI3I6Li01BKofiOc5wtlZ2di8HDFwmdTQ3jw.woff2) format('woff2'); 2149 unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; 2150}/* cyrillic-ext */ 2151@font-face { 2152 font-family: 'Roboto'; 2153 font-style: normal; 2154 font-weight: 400; 2155 font-stretch: 100%; 2156 font-display: swap; 2157 src: url(https://blogs.embarcadero.com/wp-content/fonts/roboto/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWubEbVmZiArmlw.woff2) format('woff2'); 2158 unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; 2159} 2160/* cyrillic */ 2161@font-face { 2162 font-family: 'Roboto'; 2163 font-style: normal; 2164 font-weight: 400; 2165 font-stretch: 100%; 2166 font-display: swap; 2167 src: url(https://blogs.embarcadero.com/wp-content/fonts/roboto/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWubEbVmQiArmlw.woff2) format('woff2'); 2168 unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; 2169} 2170/* greek-ext */ 2171@font-face { 2172 font-family: 'Roboto'; 2173 font-style: normal; 2174 font-weight: 400; 2175 font-stretch: 100%; 2176 font-display: swap; 2177 src: url(https://blogs.embarcadero.com/wp-content/fonts/roboto/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWubEbVmYiArmlw.woff2) format('woff2'); 2178 unicode-range: U+1F00-1FFF; 2179} 2180/* greek */ 2181@font-face { 2182 font-family: 'Roboto'; 2183 font-style: normal; 2184 font-weight: 400; 2185 font-stretch: 100%; 2186 font-display: swap; 2187 src: url(https://blogs.embarcadero.com/wp-content/fonts/roboto/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWubEbVmXiArmlw.woff2) format('woff2'); 2188 unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; 2189} 2190/* math */ 2191@font-face { 2192 font-family: 'Roboto'; 2193 font-style: normal; 2194 font-weight: 400; 2195 font-stretch: 100%; 2196 font-display: swap;
2197 src: url(https://blogs.embarcadero.com/wp-content/fonts/roboto/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWubEbVnoiArmlw.woff2) format('woff2'); 2198 unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0310, U+0312, U+0315, U+031A, U+0326-0327, U+032C, U+032F-0330, U+0332-0333, U+0338, U+033A, U+0346, U+034D, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2016-2017, U+2034-2038, U+203C, U+2040, U+2043, U+2047, U+2050, U+2057, U+205F, U+2070-2071, U+2074-208E, U+2090-209C, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2100-2112, U+2114-2115, U+2117-2121, U+2123-214F, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B7, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+3030, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF; 2199} 2200/* symbols */ 2201@font-face { 2202 font-family: 'Roboto'; 2203 font-style: normal; 2204 font-weight: 400; 2205 font-stretch: 100%; 2206 font-display: swap; 2207 src: url(https://blogs.embarcadero.com/wp-content/fonts/roboto/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWubEbVn6iArmlw.woff2) format('woff2'); 2208 unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8, U+1FB00-1FBFF; 2209} 2210/* vietnamese */ 2211@font-face { 2212 font-family: 'Roboto'; 2213 font-style: normal; 2214 font-weight: 400; 2215 font-stretch: 100%; 2216 font-display: swap; 2217 src: url(https://blogs.embarcadero.com/wp-content/fonts/roboto/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWubEbVmbiArmlw.woff2) format('woff2'); 2218 unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; 2219} 2220/* latin-ext */ 2221@font-face { 2222 font-family: 'Roboto'; 2223 font-style: normal; 2224 font-weight: 400; 2225 font-stretch: 100%; 2226 font-display: swap; 2227 src: url(https://blogs.embarcadero.com/wp-content/fonts/roboto/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWubEbVmaiArmlw.woff2) format('woff2'); 2228 unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; 2229} 2230/* latin */ 2231@font-face { 2232 font-family: 'Roboto'; 2233 font-style: normal; 2234 font-weight: 400; 2235 font-stretch: 100%; 2236 font-display: swap; 2237 src: url(https://blogs.embarcadero.com/wp-content/fonts/roboto/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWubEbVmUiAo.woff2) format('woff2'); 2238 unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; 2239}/* vietnamese */ 2240@font-face { 2241 font-family: 'Barlow'; 2242 font-style: normal; 2243 font-weight: 400; 2244 font-display: swap;
2245 src: url(https://blogs.embarcadero.com/wp-content/fonts/barlow/7cHpv4kjgoGqM7E_A8s52Hs.woff2) format('woff2'); 2246 unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; 2247} 2248/* latin-ext */ 2249@font-face { 2250 font-family: 'Barlow'; 2251 font-style: normal; 2252 font-weight: 400; 2253 font-display: swap; 2254 src: url(https://blogs.embarcadero.com/wp-content/fonts/barlow/7cHpv4kjgoGqM7E_Ass52Hs.woff2) format('woff2'); 2255 unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; 2256} 2257/* latin */ 2258@font-face { 2259 font-family: 'Barlow'; 2260 font-style: normal; 2261 font-weight: 400; 2262 font-display: swap; 2263 src: url(https://blogs.embarcadero.com/wp-content/fonts/barlow/7cHpv4kjgoGqM7E_DMs5.woff2) format('woff2'); 2264 unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; 2265}/* cyrillic-ext */ 2266@font-face { 2267 font-family: 'Nunito'; 2268 font-style: normal; 2269 font-weight: 700; 2270 font-display: swap; 2271 src: url(https://blogs.embarcadero.com/wp-content/fonts/nunito/XRXI3I6Li01BKofiOc5wtlZ2di8HDFwmdTk3j77e.woff2) format('woff2'); 2272 unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; 2273} 2274/* cyrillic */ 2275@font-face { 2276 font-family: 'Nunito'; 2277 font-style: normal; 2278 font-weight: 700; 2279 font-display: swap; 2280 src: url(https://blogs.embarcadero.com/wp-content/fonts/nunito/XRXI3I6Li01BKofiOc5wtlZ2di8HDFwmdTA3j77e.woff2) format('woff2'); 2281 unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; 2282} 2283/* vietnamese */ 2284@font-face { 2285 font-family: 'Nunito'; 2286 font-style: normal; 2287 font-weight: 700; 2288 font-display: swap; 2289 src: url(https://blogs.embarcadero.com/wp-content/fonts/nunito/XRXI3I6Li01BKofiOc5wtlZ2di8HDFwmdTs3j77e.woff2) format('woff2'); 2290 unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; 2291} 2292/* latin-ext */ 2293@font-face { 2294 font-family: 'Nunito'; 2295 font-style: normal; 2296 font-weight: 700; 2297 font-display: swap; 2298 src: url(https://blogs.embarcadero.com/wp-content/fonts/nunito/XRXI3I6Li01BKofiOc5wtlZ2di8HDFwmdTo3j77e.woff2) format('woff2'); 2299 unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; 2300} 2301/* latin */ 2302@font-face { 2303 font-family: 'Nunito'; 2304 font-style: normal; 2305 font-weight: 700; 2306 font-display: swap; 2307 src: url(https://blogs.embarcadero.com/wp-content/fonts/nunito/XRXI3I6Li01BKofiOc5wtlZ2di8HDFwmdTQ3jw.woff2) format('woff2'); 2308 unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; 2309}/* cyrillic-ext */ 2310@font-face { 2311 font-family: 'Roboto'; 2312 font-style: normal; 2313 font-weight: 400; 2314 font-stretch: 100%; 2315 font-display: swap; 2316 src: url(https://blogs.embarcadero.com/wp-content/fonts/roboto/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWubEbVmZiArmlw.woff2) format('woff2'); 2317 unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; 2318} 2319/* cyrillic */ 2320@font-face { 2321 font-family: 'Roboto'; 2322 font-style: normal; 2323 font-weight: 400; 2324 font-stretch: 100%; 2325 font-display: swap; 2326 src: url(https://blogs.embarcadero.com/wp-content/fonts/roboto/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWubEbVmQiArmlw.woff2) format('woff2'); 2327 unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; 2328} 2329/* greek-ext */ 2330@font-face { 2331 font-family: 'Roboto'; 2332 font-style: normal; 2333 font-weight: 400; 2334 font-stretch: 100%; 2335 font-display: swap; 2336 src: url(https://blogs.embarcadero.com/wp-content/fonts/roboto/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWubEbVmYiArmlw.woff2) format('woff2'); 2337 unicode-range: U+1F00-1FFF; 2338} 2339/* greek */ 2340@font-face { 2341 font-family: 'Roboto'; 2342 font-style: normal; 2343 font-weight: 400; 2344 font-stretch: 100%; 2345 font-display: swap;
2346 src: url(https://blogs.embarcadero.com/wp-content/fonts/roboto/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWubEbVmXiArmlw.woff2) format('woff2'); 2347 unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; 2348} 2349/* math */ 2350@font-face { 2351 font-family: 'Roboto'; 2352 font-style: normal; 2353 font-weight: 400; 2354 font-stretch: 100%; 2355 font-display: swap; 2356 src: url(https://blogs.embarcadero.com/wp-content/fonts/roboto/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWubEbVnoiArmlw.woff2) format('woff2'); 2357 unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0310, U+0312, U+0315, U+031A, U+0326-0327, U+032C, U+032F-0330, U+0332-0333, U+0338, U+033A, U+0346, U+034D, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2016-2017, U+2034-2038, U+203C, U+2040, U+2043, U+2047, U+2050, U+2057, U+205F, U+2070-2071, U+2074-208E, U+2090-209C, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2100-2112, U+2114-2115, U+2117-2121, U+2123-214F, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B7, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+3030, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF; 2358} 2359/* symbols */ 2360@font-face { 2361 font-family: 'Roboto'; 2362 font-style: normal; 2363 font-weight: 400; 2364 font-stretch: 100%; 2365 font-display: swap; 2366 src: url(https://blogs.embarcadero.com/wp-content/fonts/roboto/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWubEbVn6iArmlw.woff2) format('woff2'); 2367 unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8, U+1FB00-1FBFF; 2368} 2369/* vietnamese */ 2370@font-face { 2371 font-family: 'Roboto'; 2372 font-style: normal; 2373 font-weight: 400; 2374 font-stretch: 100%; 2375 font-display: swap; 2376 src: url(https://blogs.embarcadero.com/wp-content/fonts/roboto/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWubEbVmbiArmlw.woff2) format('woff2'); 2377 unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; 2378} 2379/* latin-ext */ 2380@font-face { 2381 font-family: 'Roboto'; 2382 font-style: normal; 2383 font-weight: 400; 2384 font-stretch: 100%; 2385 font-display: swap; 2386 src: url(https://blogs.embarcadero.com/wp-content/fonts/roboto/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWubEbVmaiArmlw.woff2) format('woff2'); 2387 unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1D
2387BF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; 2388} 2389/* latin */ 2390@font-face { 2391 font-family: 'Roboto'; 2392 font-style: normal; 2393 font-weight: 400; 2394 font-stretch: 100%; 2395 font-display: swap; 2396 src: url(https://blogs.embarcadero.com/wp-content/fonts/roboto/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWubEbVmUiAo.woff2) format('woff2'); 2397 unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; 2398}</style> 2399<style id="core-block-supports-inline-css"> 2400/** 2401 * Core styles: block-supports 2402 */ 2403 2404/*# sourceURL=core-block-supports-inline-css */ 2405</style> 2406 2407</head> 2408 2409<body class="archive category category-news category-1 wp-theme-saxon blog-post-transparent-header-disable blog-small-page-width blog-slider-disable blog-enable-images-animations blog-enable-sticky-header blog-style-corners-rounded"> 2410 2411<div class="header-topline-wrapper"> 2412 <div class="container"><div class="row"><div class="col-md-12"><div class="header-topline"><div class="header-topline-content"> 2413 <div lang="en"><img style="border: 0" src="https://s608.t.eloqua.com/visitor/v200/svrGP?pps=3&siteid=608&ref=https%3A%2F%2Fblogs.embarcadero.com%2F" alt="" width="1" height="1" />Have an amazing solution built in RAD Studio? <a href="https://blogs.embarcadero.com/submit-your-own-amazing-projects-to-the-embarcadero-showcase/">Let us know</a>. Looking for discounts? Visit our <a href="https://www.embarcadero.com/radoffer">Special Offers</a> page!</div></div><div class="header-topline-button"><a href="https://my.embarcadero.com/" class="btn btn-small btn-transparent" target=""_blank"">+ Customer Portal</a></div> 2414 </div></div></div></div> 2415 </div> 2416 2417 2418<header class="main-header clearfix sticky-header"> 2419<div class="blog-post-reading-progress"></div> 2420<div class="container"> 2421 <div class="row"> 2422 <div class="col-md-12"> 2423 2424 <div class="header-left"> 2425 <div class="mainmenu-mobile-toggle" aria-label="Toggle menu"><i class="fa fa-bars" aria-hidden="true"></i></div> 2426 <div class="logo"> 2427 <a class="logo-link" href="https://blogs.embarcadero.com/"><img data-src="https://blogs.embarcadero.com/wp-content/uploads/2025/09/EMBT_Primary_Logo_Black_2025_Idera_400x85-4862500.png" alt="Embarcadero RAD Studio, Delphi, & C++Builder Blogs" class="regular-logo lazyload" src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==" style="--smush-placeholder-width: 400px; --smush-placeholder-aspect-ratio: 400/85;"><img data-src="https://blogs.embarcadero.com/wp-content/uploads/2024/05/embt_primary_logo_black_2023-7609313.png" alt="Embarcadero RAD Studio, Delphi, & C++Builder Blogs" class="light-logo lazyload" src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==" style="--smush-placeholder-width: 238px; --smush-placeholder-aspect-ratio: 238/42;"></a> 2428 </div> 2429 2430 </div> 2431 2432 <div class="header-center"> 2433 2434 <div class="mainmenu mainmenu-none mainmenu-regularfont mainmenu-noarrow clearfix" role="navigation"> 2435 2436 <div id="navbar" class="navbar navbar-default clearfix mgt-mega-menu"> 2437 2438 <div class="navbar-inner"> 2439 <div class="container"> 2440 2441 <div class="navbar-toggle btn btn-grey" data-toggle="collapse" data-target=".collapse"> 2442 Menu </div> 2443 2444 <div class="navbar-center-wrapper"> 2445 <div class="navbar-collapse collapse"><ul id="menu-main-menu-2" class="nav"><li id="mgt-menu-item-677" class="menu-item menu-item-type-custom menu-item-object-custom"><a href="/">Home</a></li><li id="mgt-menu-item-926" class="menu-item menu-item-type-taxonomy menu-item-object-category current-menu-item menu-item-has-children"><a href="https://blogs.embarcadero.com/category/news/">News</a> 2446<ul class="sub-menu megamenu-column-1 level-0" > 2447 <li id="mgt-menu-item-679" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children">
2447<a href="https://blogs.embarcadero.com/category/rad-studio/">RAD Studio</a> 2448 <ul class="sub-menu level-1" > 2449 <li id="mgt-menu-item-680" class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="https://blogs.embarcadero.com/category/ide/">IDE</a></li> <li id="mgt-menu-item-43240" class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="https://blogs.embarcadero.com/category/code/">Code</a></li> <li id="mgt-menu-item-930" class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="https://blogs.embarcadero.com/category/database/">Database</a></li> </ul> 2450</li> <li id="mgt-menu-item-824" class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="https://blogs.embarcadero.com/category/delphi/">Delphi</a></li> <li id="mgt-menu-item-823" class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="https://blogs.embarcadero.com/category/cpp/">C++</a></li> <li id="mgt-menu-item-974" class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="https://blogs.embarcadero.com/category/interbase/">InterBase</a></li> <li id="mgt-menu-item-927" class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="https://blogs.embarcadero.com/category/tech-partner/">Tech Partner</a></li></ul> 2451</li><li id="mgt-menu-item-56783" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children"><a href="https://blogs.embarcadero.com/category/showcase/">Showcase</a> 2452<ul class="sub-menu megamenu-column-1 level-0" > 2453 <li id="mgt-menu-item-160644" class="menu-item menu-item-type-post_type menu-item-object-post"><a href="https://blogs.embarcadero.com/enterprise-software-development-article-challenge/">Enterprise Software Development Article Challenge</a></li> <li id="mgt-menu-item-68502" class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="https://blogs.embarcadero.com/category/showcase/">View All</a></li> <li id="mgt-menu-item-73386" class="menu-item menu-item-type-custom menu-item-object-custom"><a href="/?s=cool+app">Cool Apps</a></li> <li id="mgt-menu-item-68499" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://blogs.embarcadero.com/showcase-submission-form/">Submit</a></li> <li id="mgt-menu-item-68954" class="menu-item menu-item-type-post_type menu-item-object-post"><a href="https://blogs.embarcadero.com/submit-your-own-amazing-projects-to-the-embarcadero-showcase/">About</a></li></ul> 2454</li><li id="mgt-menu-item-935" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children"><a href="https://blogs.embarcadero.com/community/">Community</a> 2455<ul class="sub-menu megamenu-column-1 level-0" > 2456 <li id="mgt-menu-item-59979" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://blogs.embarcadero.com/community/">Forums</a></li> <li id="mgt-menu-item-58606" class="menu-item menu-item-type-custom menu-item-object-custom"><a href="https://learndelphi.org/">Learn Delphi</a></li> <li id="mgt-menu-item-66623" class="menu-item menu-item-type-custom menu-item-object-custom"><a href="https://learncplusplus.org/">Learn C++</a></li> <li id="mgt-menu-item-59371" class="menu-item menu-item-type-custom menu-item-object-custom"><a href="https://www.delphifeeds.com/">DelphiFeeds</a></li> <li id="mgt-menu-item-65769" class="menu-item menu-item-type-custom menu-item-object-custom"><a href="https://delphi.embarcadero.com/">Delphi 25th Anniversary</a></li> <li id="mgt-menu-item-66624" class="menu-item menu-item-type-custom menu-item-object-custom"><a href="https://pythongui.org/">Python GUI</a></li></ul> 2457</li><li id="mgt-menu-item-64380" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children"><a href="#">ð</a> 2458<ul class="sub-menu megamenu-column-1 level-0" > 2459 <li id="mgt-menu-item-64379" class="menu-item menu-item-type-custom menu-item-object-custom"><a href="/">English</a></li> <li id="mgt-menu-item-64381" class="menu-item menu-item-type-custom menu-item-object-custom"><a href="/de/">Deutsch</a></li> <li id="mgt-menu-item-64382" class="menu-item menu-item-type-custom menu-item-object-custom"><a href="/es/">Español</a></li> <li id="mgt-menu-item-64383" class="menu-item menu-item-type-custom menu-item-object-custom"><a href="/fr/">Français</a></li> <li id="mgt-menu-item-64384" class="menu-item menu-item-type-custom menu-item-object-custom"><a href="/pt/">Português</a></li> <li id="mgt-menu-item-64385" class="menu-item menu-item-type-custom menu-item-object-custom"><a href="/ru/">Ð ÑÑÑкий</a></li> <li id="mgt-menu-item-64386" class="menu-item menu-item-type-custom menu-item-object-custom"><a href="/ja/">æ¥æ¬èª</a></li></ul> 2460</li></ul></div> </div> 2461 2462 </div> 2463 </div> 2464 2465 </div> 2466 2467 </div> 2468 2469 2470 </div> 2471 2472 <div class="header-right"> 2473 <div class="social-icons-wrapper"><a href="https://www.facebook.com/embarcaderotech/" target="_blank" class="a-facebook"><i class="fa fa-facebook"></i></a><a href="https://twitter.com/EmbarcaderoTech" target="_blank" class="a-twitter"><i class="fa fa-twitter"></i></a><a href="https://github.com/Embarcadero" target="_blank" class="a-github"><i class="fa fa-github"></i></a><a href="https://www.youtube.com/channel/UCMmsCQhkz-WlJ-IVBzPhbgA" target="_blank" class="a-youtube"><i class="fa fa-youtube"></i></a></div> <div class="search-toggle-wrapper search-header"> 2474 <form method="get" role="search" id="searchform_p" class="searchform" action="https://blogs.embarcadero.
2474com/"> 2475 <input type="search" aria-label="Search" class="field" name="s" value="" id="s_p" placeholder="Type keyword(s) here…" /> 2476 <input type="submit" class="submit btn" id="searchsubmit_p" value="Search" /> 2477</form> 2478 <a class="search-toggle-btn" aria-label="Search toggle"><i class="fa fa-search" aria-hidden="true"></i></a> 2479 </div> 2480 2481 </div> 2482 </div> 2483 </div> 2484 2485</div> 2486</header> 2487<div class="saxon-bb-block saxon-bb-block-below_header clearfix"></div><div class="content-block"> 2488<div class="container container-page-item-title" data-style="" data-aos="fade-up"> 2489 <div class="row"> 2490 <div class="col-md-12 col-overlay"> 2491 <div class="page-item-title-archive page-item-title-single"> 2492 2493 <p>Browsing category</p><h1 class="page-title">News</h1><div class="category-posts-count">1110 posts</div> 2494 </div> 2495 </div> 2496 </div> 2497</div> 2498<div class="container page-container"> 2499 <div class="row"> 2500 <div class="col-md-8"> 2501 <div class="blog-posts-list blog-layout-large-grid saxon-blog-col-1-2" id="content" role="main"> 2502 2503 2504 <div class="blog-post saxon-block saxon-large-grid-post" data-aos="fade-up"> 2505 <article id="post-201818" class="post-201818 post type-post status-publish format-standard has-post-thumbnail hentry category-ai category-kai category-news tag-cbuilder-2 tag-delphi tag-kai tag-rad-studio"> 2506 <div class="saxon-grid-post saxon-grid-large-post saxon-post format-" data-aos="fade-up"><div class="saxon-post-image-wrapper"><a href="https://blogs.embarcadero.com/show-us-what-you-built-with-kai-more-giveaways/"><div class="saxon-post-image lazyload" data-style="background-image:inherit;" data-bg-image="url(https://blogs.embarcadero.com/wp-content/uploads/2026/09/kai-august-giveaways-1140x694.png)"></div></a><div class="post-categories"><a href="https://blogs.embarcadero.com/category/ai/">AI</a><a href="https://blogs.embarcadero.com/category/kai/">Kai</a><a href="https://blogs.embarcadero.com/category/news/" data-style="background-color: #01487e;">News</a></div></div><div class="saxon-post-details"> 2507 2508 <h3 class="post-title"><a href="https://blogs.embarcadero.com/show-us-what-you-built-with-kai-more-giveaways/">Show Us What You Built With Kai - More Giveaways!</a></h3><div class="post-author"> 2509 <div class="post-author-image"> 2510 <a href="https://blogs.embarcadero.com/author/ianbarker/"><img alt='' data-src='https://blogs.embarcadero.com/wp-content/wphb-cache/gravatar/266/266e7cfa629d3fe1bacc2a870dbfdebax28.jpg' data-srcset='https://blogs.embarcadero.com/wp-content/wphb-cache/gravatar/266/266e7cfa629d3fe1bacc2a870dbfdebax56.jpg 2x' class='avatar avatar-28 photo lazyload' height='28' width='28' decoding='async' src='data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==' style='--smush-placeholder-width: 28px; --smush-placeholder-aspect-ratio: 28/28;' /></a></div>By <a href="https://blogs.embarcadero.com/author/ianbarker/" rel="author">Ian Barker</a></div> 2511<div class="post-date">September 23, 2026</div></div><div class="post-excerpt">There’s a lot going on with Kai. In fact, there’s a whole lot going on with RAD Studio, Delphi, and C++Builder overall. If you missed the launch of RAD Studio 13.2 you can catch the release webinar below. The streaming platform we used for that event decided to misbehave when we were live, but this recording contains the whole presentation, unsullied by misbehaving webinar wonky⦠<div class="post-readmore"><a href="https://blogs.embarcadero.com/show-us-what-you-built-with-kai-more-giveaways/" class="more-link btn btn-grey">Read more</a></div> 2512 </div> 2513 2514 2515</div> 2516 </article> 2517</div> 2518 2519 2520 <div class="blog-post saxon-block saxon-large-grid-post" data-aos="fade-up"> 2521 <article id="post-200690" class="post-200690 post type-post status-publish format-standard has-post-thumbnail hentry category-news"> 2522 <div class="saxon-grid-post saxon-post format-" data-aos="fade-up"><div class="saxon-post-image-wrapper"><a href="https://blogs.embarcadero.com/rad-studio-13-2-florence-is-here/"><div class="saxon-post-image lazyload" data-style="background-image:inherit;
2522" data-bg-image="url(https://blogs.embarcadero.com/wp-content/uploads/2026/09/05_EMBT_-RAD-Studio-13.2_Now-Available_Download-1920x1080-1-555x360.png)"></div></a><div class="post-categories"><a href="https://blogs.embarcadero.com/category/news/" data-style="background-color: #01487e;">News</a></div></div><div class="saxon-post-details"> 2523 2524 <h3 class="post-title"><a href="https://blogs.embarcadero.com/rad-studio-13-2-florence-is-here/">RAD Studio 13.2 Florence Is Here</a></h3><div class="post-author"> 2525 <div class="post-author-image"> 2526 <a href="https://blogs.embarcadero.com/author/marcocantuembarcadero-com/"><img alt='' data-src='https://blogs.embarcadero.com/wp-content/wphb-cache/gravatar/540/5406a6d2fb764aa5eade435b5c3a17cfx28.jpg' data-srcset='https://blogs.embarcadero.com/wp-content/wphb-cache/gravatar/540/5406a6d2fb764aa5eade435b5c3a17cfx56.jpg 2x' class='avatar avatar-28 photo lazyload' height='28' width='28' decoding='async' src='data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==' style='--smush-placeholder-width: 28px; --smush-placeholder-aspect-ratio: 28/28;' /></a></div>By <a href="https://blogs.embarcadero.com/author/marcocantuembarcadero-com/" rel="author">Marco Cantu</a></div> 2527<div class="post-date">September 17, 2026</div></div><div class="post-excerpt">Embarcadero is pleased to announce the release of RAD Studio 13.2 along with Delphi 13.2 Florence and C++Builder 13.2 Florence. This release has a strong focus on compiler technology and performance, Linux and Windows on Arm, developer productivity, modern UI developmentâ¦</div></div> 2528 </article> 2529</div> 2530 2531 2532 <div class="blog-post saxon-block saxon-large-grid-post" data-aos="fade-up"> 2533 <article id="post-200246" class="post-200246 post type-post status-publish format-standard has-post-thumbnail hentry category-delphi category-how-tos category-news category-tech-partner tag-3rd-party-components tag-how-to tag-tech-partner"> 2534 <div class="saxon-grid-post saxon-post format-" data-aos="fade-up"><div class="saxon-post-image-wrapper"><a href="https://blogs.embarcadero.com/markdown4d-and-how-we-built-it-with-ai/"><div class="saxon-post-image lazyload" data-style="background-image:inherit;" data-bg-image="url(https://blogs.embarcadero.com/wp-content/uploads/2026/09/2026-09-14_09-53-47-555x360.png)"></div></a><div class="post-categories"><a href="https://blogs.embarcadero.com/category/delphi/" data-style="background-color: #01487e;">Delphi</a><a href="https://blogs.embarcadero.com/category/news/how-tos/" data-style="background-color: #000000;">How-To's</a><a href="https://blogs.embarcadero.com/category/news/" data-style="background-color: #01487e;">News</a><a href="https://blogs.embarcadero.com/category/tech-partner/" data-style="background-color: #01487e;">Tech Partner</a></div></div><div class="saxon-post-details"> 2535 2536 <h3 class="post-title"><a href="https://blogs.embarcadero.com/markdown4d-and-how-we-built-it-with-ai/">Markdown4D, and how we built it with AI</a></h3><div class="post-author"> 2537 <div class="post-author-image"> 2538 <a href="https://blogs.embarcadero.com/author/mgeuze/"><img alt='' data-src='https://blogs.embarcadero.com/wp-content/wphb-cache/gravatar/c46/c464145e80f18d5b4863535e7629901ax28.jpg' data-srcset='https://blogs.embarcadero.com/wp-content/wphb-cache/gravatar/c46/c464145e80f18d5b4863535e7629901ax56.jpg 2x' class='avatar avatar-28 photo lazyload' height='28' width='28' decoding='async' src='data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==' style='--smush-placeholder-width: 28px; --smush-placeholder-aspect-ratio: 28/28;' /></a></div>By <a href="https://blogs.embarcadero.com/author/mgeuze/" rel="author">Marco Geuze</a></div> 2539<div class="post-date">September 14, 2026</div></div><div class="post-excerpt">Here’s a guest blog post by Marco Geuze, Embarcadero MVP and founder of Embarcadero Tech Partner GDK Software. 2540At GDK Software we have been using AI tools to help us develop for a few years now. Two years ago that was occasional; today every developer works with AI. 2541Ifâ¦</div></div> 2542 </article> 2543</div> 2544 2545 2546 <div class="blog-post saxon-block saxon-large-grid-post" data-aos="fade-up"> 2547 <article id="post-199769" class="post-199769 post type-post status-publish format-standard has-post-thumbnail hentry category-news">
2548 <div class="saxon-grid-post saxon-post format-" data-aos="fade-up"><div class="saxon-post-image-wrapper"><a href="https://blogs.embarcadero.com/coming-in-rad-studio-13-2-improving-the-everyday-rad-studio-ide-experience/"><div class="saxon-post-image lazyload" data-style="background-image:inherit;" data-bg-image="url(https://blogs.embarcadero.com/wp-content/uploads/2026/09/04_EMBT_Coming-in-RAD-Studio-13.2-Improving-the-Everyday-RAD-Studio-IDE-1600x900-1-555x360.png)"></div></a><div class="post-categories"><a href="https://blogs.embarcadero.com/category/news/" data-style="background-color: #01487e;">News</a></div></div><div class="saxon-post-details"> 2549 2550 <h3 class="post-title"><a href="https://blogs.embarcadero.com/coming-in-rad-studio-13-2-improving-the-everyday-rad-studio-ide-experience/">Coming in RAD Studio 13.2: Improving the Everyday RAD Studio IDE Experience</a></h3><div class="post-author"> 2551 <div class="post-author-image"> 2552 <a href="https://blogs.embarcadero.com/author/marcocantuembarcadero-com/"><img alt='' data-src='https://blogs.embarcadero.com/wp-content/wphb-cache/gravatar/540/5406a6d2fb764aa5eade435b5c3a17cfx28.jpg' data-srcset='https://blogs.embarcadero.com/wp-content/wphb-cache/gravatar/540/5406a6d2fb764aa5eade435b5c3a17cfx56.jpg 2x' class='avatar avatar-28 photo lazyload' height='28' width='28' decoding='async' src='data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==' style='--smush-placeholder-width: 28px; --smush-placeholder-aspect-ratio: 28/28;' /></a></div>By <a href="https://blogs.embarcadero.com/author/marcocantuembarcadero-com/" rel="author">Marco Cantu</a></div> 2553<div class="post-date">September 10, 2026</div></div><div class="post-excerpt">A collection of IDE changes that are small individually but visible in daily use. 2554Feature Preview: This blog post is based on a pre-release version of the RAD Studio software and it has been written with specific permission by Embarca
2554dero. No feature is committed until theâ¦</div></div> 2555 </article> 2556</div> 2557 2558 2559 <div class="blog-post saxon-block saxon-large-grid-post" data-aos="fade-up"> 2560 <article id="post-199610" class="post-199610 post type-post status-publish format-standard has-post-thumbnail hentry category-ai category-cpp category-delphi category-kai category-news tag-c-4 tag-cbuilder-2 tag-delphi tag-kai tag-rad-studio"> 2561 <div class="saxon-grid-post saxon-post format-" data-aos="fade-up"><div class="saxon-post-image-wrapper"><a href="https://blogs.embarcadero.com/kai-1-1-is-here-a-more-connected-flexible-and-powerful-ai-experience-for-rad-studio/"><div class="saxon-post-image lazyload" data-style="background-image:inherit;" data-bg-image="url(https://blogs.embarcadero.com/wp-content/uploads/2026/09/12-Kai-1.1-release-1600x900-Copy-555x360.png)"></div></a><div class="post-categories"><a href="https://blogs.embarcadero.com/category/ai/">AI</a><a href="https://blogs.embarcadero.com/category/cpp/" data-style="background-color: #01487e;">C++</a><a href="https://blogs.embarcadero.com/category/delphi/" data-style="background-color: #01487e;">Delphi</a><a href="https://blogs.embarcadero.com/category/kai/">Kai</a><a href="https://blogs.embarcadero.com/category/news/" data-style="background-color: #01487e;">News</a></div></div><div class="saxon-post-details"> 2562 2563 <h3 class="post-title"><a href="https://blogs.embarcadero.com/kai-1-1-is-here-a-more-connected-flexible-and-powerful-ai-experience-for-rad-studio/">Kai 1.1 is Here: A More Connected, Flexible, and Powerful AI Experience for RAD Studio</a></h3><div class="post-author"> 2564 <div class="post-author-image"> 2565 <a href="https://blogs.embarcadero.com/author/marcocantuembarcadero-com/"><img alt='' data-src='https://blogs.embarcadero.com/wp-content/wphb-cache/gravatar/540/5406a6d2fb764aa5eade435b5c3a17cfx28.jpg' data-srcset='https://blogs.embarcadero.com/wp-content/wphb-cache/gravatar/540/5406a6d2fb764aa5eade435b5c3a17cfx56.jpg 2x' class='avatar avatar-28 photo lazyload' height='28' width='28' decoding='async' src='data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==' style='--smush-placeholder-width: 28px; --smush-placeholder-aspect-ratio: 28/28;' /></a></div>By <a href="https://blogs.embarcadero.com/author/marcocantuembarcadero-com/" rel="author">Marco Cantu</a></div> 2566<div class="post-date">September 8, 2026</div></div><div class="post-excerpt">Kai 1.1 is available today. This is a very significant new release that introduces a much more flexible way to connect Kai to AI providers and large language models. 2567 2568 2569 2570Kai 1.1 reflects the extensive feedback we received both from existing users and from developersâ¦</div></div> 2571 </article> 2572</div> 2573 2574 2575 <div class="blog-post saxon-block saxon-large-grid-post" data-aos="fade-up"> 2576 <article id="post-199374" class="post-199374 post type-post status-publish format-standard has-post-thumbnail hentry category-news"> 2577 <div class="saxon-grid-post saxon-post format-" data-aos="fade-up"><div class="saxon-post-image-wrapper"><a href="https://blogs.embarcadero.com/coming-in-rad-studio-13-2-build-modern-windows-user-interfaces-with-two-new-vcl-controls/"><div class="saxon-post-image lazyload" data-style="background-image:inherit;" data-bg-image="url(https://blogs.embarcadero.com/wp-content/uploads/2026/09/13_2_vcl_controls-555x360.png)"></div></a><div class="post-categories"><a href="https://blogs.embarcadero.com/category/news/" data-style="background-color: #01487e;">News</a></div></div><div class="saxon-post-details"> 2578 2579 <h3 class="post-title"><a href="https://blogs.embarcadero.com/coming-in-rad-studio-13-2-build-modern-windows-user-interfaces-with-two-new-vcl-controls/">Coming in RAD Studio 13.2: Build Modern Windows User Interfaces with Two New VCL Controls</a></h3><div class="post-author"> 2580 <div class="post-author-image"> 2581 <a href="https://blogs.embarcadero.com/author/marcocantuembarcadero-com/"><img alt='' data-src='https://blogs.embarcadero.com/wp-content/wphb-cache/gravatar/540/5406a6d2fb764aa5eade435b5c3a17cfx28.jpg' data-srcset='https://blogs.embarcadero.
2581com/wp-content/wphb-cache/gravatar/540/5406a6d2fb764aa5eade435b5c3a17cfx56.jpg 2x' class='avatar avatar-28 photo lazyload' height='28' width='28' decoding='async' src='data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==' style='--smush-placeholder-width: 28px; --smush-placeholder-aspect-ratio: 28/28;' /></a></div>By <a href="https://blogs.embarcadero.com/author/marcocantuembarcadero-com/" rel="author">Marco Cantu</a></div> 2582<div class="post-date">September 4, 2026</div></div><div class="post-excerpt">Preview information about TabView and NavigationView, two new controls we are adding to the VCL. 2583Feature Preview: This blog post is based on a pre-release version of the RAD Studio software and it has been written with specific permission by Embarcadero. No feature isâ¦</div></div> 2584 </article> 2585</div> 2586 2587 2588 <div class="blog-post saxon-block saxon-large-grid-post" data-aos="fade-up"> 2589 <article id="post-199204" class="post-199204 post type-post status-publish format-standard has-post-thumbnail hentry category-news"> 2590 <div class="saxon-grid-post saxon-post format-" data-aos="fade-up"><div class="saxon-post-image-wrapper"><a href="https://blogs.embarcadero.com/coming-in-rad-studio-13-2-navigate-large-codebases-faster-with-the-new-integrated-navigator/"><div class="saxon-post-image lazyload" data-style="background-image:inherit;" data-bg-image="url(https://blogs.embarcadero.com/wp-content/uploads/2026/09/intergrated_navigator-555x360.png)"></div></a><div class="post-categories"><a href="https://blogs.embarcadero.com/category/news/" data-style="background-color: #01487e;">News</a></div></div><div class="saxon-post-details"> 2591 2592 <h3 class="post-title"><a href="https://blogs.embarcadero.com/coming-in-rad-studio-13-2-navigate-large-codebases-faster-with-the-new-integrated-navigator/">Coming in RAD Studio 13.2: Navigate Large Codebases Faster with the New Integrated Navigator</a></h3><div class="post-author"> 2593 <div class="post-author-image"> 2594 <a href="https://blogs.embarcadero.com/author/marcocantuembarcadero-com/"><img alt='' data-src='https://blogs.embarcadero.com/wp-content/wphb-cache/gravatar/540/5406a6d2fb764aa5eade435b5c3a17cfx28.jpg' data-srcset='https://blogs.embarcadero.com/wp-content/wphb-cache/gravatar/540/5406a6d2fb764aa5eade435b5c3a17cfx56.jpg 2x' class='avatar avatar-28 photo lazyload' height='28' width='28' decoding='async' src='data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==' style='--smush-placeholder-width: 28px; --smush-placeholder-aspect-ratio: 28/28;' /></a></div>By <a href="https://blogs.embarcadero.com/author/marcocantuembarcadero-com/" rel="author">Marco Cantu</a></div> 2595<div class="post-date">September 2, 2026</div></div><div class="post-excerpt">Goto, the editor minimap, and more information about the code currently in front of you. 2596Feature Preview: This blog post is based on a pre-release version of the RAD Studio software and it has been written with specific permission by Embarca
2596dero. No feature is committedâ¦</div></div> 2597 </article> 2598</div> 2599 2600 2601 <div class="blog-post saxon-block saxon-large-grid-post" data-aos="fade-up"> 2602 <article id="post-198758" class="post-198758 post type-post status-publish format-standard has-post-thumbnail hentry category-news"> 2603 <div class="saxon-grid-post saxon-post format-" data-aos="fade-up"><div class="saxon-post-image-wrapper"><a href="https://blogs.embarcadero.com/coming-in-rad-studio-13-2-faster-builds-and-faster-applications-with-delphis-llvm-20-compilers/"><div class="saxon-post-image lazyload" data-style="background-image:inherit;" data-bg-image="url(https://blogs.embarcadero.com/wp-content/uploads/2026/08/rad_studio_13.2_blog_banner_01-555x360.png)"></div></a><div class="post-categories"><a href="https://blogs.embarcadero.com/category/news/" data-style="background-color: #01487e;">News</a></div></div><div class="saxon-post-details"> 2604 2605 <h3 class="post-title"><a href="https://blogs.embarcadero.com/coming-in-rad-studio-13-2-faster-builds-and-faster-applications-with-delphis-llvm-20-compilers/">Coming in RAD Studio 13.2: Faster Builds and Faster Applications with Delphi's LLVM-20 Compilers</a></h3><div class="post-author"> 2606 <div class="post-author-image"> 2607 <a href="https://blogs.embarcadero.com/author/marcocantuembarcadero-com/"><img alt='' data-src='https://blogs.embarcadero.com/wp-content/wphb-cache/gravatar/540/5406a6d2fb764aa5eade435b5c3a17cfx28.jpg' data-srcset='https://blogs.embarcadero.com/wp-content/wphb-cache/gravatar/540/5406a6d2fb764aa5eade435b5c3a17cfx56.jpg 2x' class='avatar avatar-28 photo lazyload' height='28' width='28' decoding='async' src='data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==' style='--smush-placeholder-width: 28px; --smush-placeholder-aspect-ratio: 28/28;' /></a></div>By <a href="https://blogs.embarcadero.com/author/marcocantuembarcadero-com/" rel="author">Marco Cantu</a></div> 2608<div class="post-date">August 28, 2026</div></div><div class="post-excerpt">Parallel code generation, LLVM optimizations, and memory-manager changes for Linux Intel 64-bit and Windows Arm64EC. 2609Feature Preview: This blog post is based on a pre-release version of the RAD Studio software and it has been written with specific permission by Embarca
2609dero.</div></div> 2610 </article> 2611</div> 2612 2613 2614 <div class="blog-post saxon-block saxon-large-grid-post" data-aos="fade-up"> 2615 <article id="post-198019" class="post-198019 post type-post status-publish format-standard has-post-thumbnail hentry category-news tag-ai tag-interbase tag-mcp"> 2616 <div class="saxon-grid-post saxon-post format-" data-aos="fade-up"><div class="saxon-post-image-wrapper"><a href="https://blogs.embarcadero.com/exploring-an-interbase-database-with-an-mcp-driven-workflow/"><div class="saxon-post-image lazyload" data-style="background-image:inherit;" data-bg-image="url(https://blogs.embarcadero.com/wp-content/uploads/2026/08/b93b3c89-7a06-4eea-85f2-bfd1bcca6572-555x360.jpg)"></div></a><div class="post-categories"><a href="https://blogs.embarcadero.com/category/news/" data-style="background-color: #01487e;">News</a></div></div><div class="saxon-post-details"> 2617 2618 <h3 class="post-title"><a href="https://blogs.embarcadero.com/exploring-an-interbase-database-with-an-mcp-driven-workflow/">Exploring an InterBase Database with an MCP-Driven Workflow</a></h3><div class="post-author"> 2619 <div class="post-author-image"> 2620 <a href="https://blogs.embarcadero.com/author/fernandorizzato/"><img alt='' data-src='https://blogs.embarcadero.com/wp-content/wphb-cache/gravatar/3e6/3e6a04259ba6a1bb78775b7544800cf6x28.jpg' data-srcset='https://blogs.embarcadero.com/wp-content/wphb-cache/gravatar/3e6/3e6a04259ba6a1bb78775b7544800cf6x56.jpg 2x' class='avatar avatar-28 photo lazyload' height='28' width='28' decoding='async' src='data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==' style='--smush-placeholder-width: 28px; --smush-placeholder-aspect-ratio: 28/28;' /></a></div>By <a href="https://blogs.embarcadero.com/author/fernandorizzato/" rel="author">Rizzato Fernando</a></div> 2621<div class="post-date">August 27, 2026</div></div><div class="post-excerpt">In our initial post, we introduced the InterBase Model Context Protocol (MCP) Server – a tool engineered with Delphi to bridge Large Language Models (LLMs) with InterBase databases. In this follow-up, we are opening our playground notebook: a real, step-by-step sessionâ¦</div></div> 2622 </article> 2623</div> 2624 2625 2626 <div class="blog-post saxon-block saxon-large-grid-post" data-aos="fade-up"> 2627 <article id="post-198641" class="post-198641 post type-post status-publish format-standard has-post-thumbnail hentry category-delphi category-news category-rad-studio"> 2628 <div class="saxon-grid-post saxon-post format-" data-aos="fade-up"><div class="saxon-post-image-wrapper"><a href="https://blogs.embarcadero.com/coming-in-rad-studio-13-2-a-new-generation-of-delphi-development-for-linux-intel-64-bit/"><div class="saxon-post-image lazyload" data-style="background-image:inherit;" data-bg-image="url(https://blogs.embarcadero.com/wp-content/uploads/2026/08/coming_in_13_2_banner_1_1-555x360.png)"></div></a><div class="post-categories"><a href="https://blogs.embarcadero.com/category/delphi/" data-style="background-color: #01487e;">Delphi</a><a href="https://blogs.embarcadero.com/category/news/" data-style="background-color: #01487e;">News</a><a href="https://blogs.embarcadero.com/category/rad-studio/" data-style="background-color: #01487e;">RAD Studio</a></div></div><div class="saxon-post-details"> 2629 2630 <h3 class="post-title"><a href="https://blogs.embarcadero.com/coming-in-rad-studio-13-2-a-new-generation-of-delphi-development-for-linux-intel-64-bit/">Coming in RAD Studio 13.2: A New Generation of Delphi Development for Linux Intel 64-bit</a></h3><div class="post-author"> 2631 <div class="post-author-image"> 2632 <a href="https://blogs.embarcadero.com/author/marcocantuembarcadero-com/"><img alt='' data-src='https://blogs.embarcadero.com/wp-content/wphb-cache/gravatar/540/5406a6d2fb764aa5eade435b5c3a17cfx28.jpg' data-srcset='https://blogs.embarcadero.com/wp-content/wphb-cache/gravatar/540/5406a6d2fb764aa5eade435b5c3a17cfx56.jpg 2x' class='avatar avatar-28 photo lazyload' height='28' width='28' decoding='async' src='data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==' style='--smush-placeholder-width: 28px; --smush-placeholder-aspect-ratio: 28/28;' /></a></div>
2632By <a href="https://blogs.embarcadero.com/author/marcocantuembarcadero-com/" rel="author">Marco Cantu</a></div> 2633<div class="post-date">August 26, 2026</div></div><div class="post-excerpt">A first look at the compiler and runtime work we are doing for Delphi on Linux Intel 64-bit. 2634Feature Preview: This blog post is based on a pre-release version of the RAD Studio software and it has been written with specific permission by Embarcadero. No feature is committedâ¦</div></div> 2635 </article> 2636</div> 2637 2638 2639 2640 2641 </div> 2642 <nav id="nav-below" class="navigation-paging"> 2643 2644 <div class="clear"></div> 2645 <div class="container-fluid"> 2646 <div class="row"> 2647 <div class="col-md-12 nav-pagenavi"> 2648 <div class='wp-pagenavi' role='navigation'> 2649<span class='pages'>Page 1 of 118</span><span aria-current='page' class='current'>1</span><a class="page larger" title="Page 2" href="https://blogs.embarcadero.com/category/news/page/2/">2</a><a class="page larger" title="Page 3" href="https://blogs.embarcadero.com/category/news/page/3/">3</a><a class="page larger" title="Page 4" href="https://blogs.embarcadero.com/category/news/page/4/">4</a><a class="page larger" title="Page 5" href="https://blogs.embarcadero.com/category/news/page/5/">5</a><span class='extend'>...</span><a class="larger page" title="Page 10" href="https://blogs.embarcadero.com/category/news/page/10/">10</a><a class="larger page" title="Page 20" href="https://blogs.embarcadero.com/category/news/page/20/">20</a><a class="larger page" title="Page 30" href="https://blogs.embarcadero.com/category/news/page/30/">30</a><span class='extend'>...</span><a class="nextpostslink" rel="next" aria-label="Next Page" href="https://blogs.embarcadero.com/category/news/page/2/">»</a><a class="last" aria-label="Last page" href="https://blogs.embarcadero.com/category/news/page/118/">Last »</a> 2650</div> </div> 2651 2652 </div> 2653 </div> 2654 2655 </nav> 2656 </div> 2657 <div class="col-md-4 main-sidebar sidebar sidebar-right" data-aos="fade-up" role="complementary"> 2658 <ul id="main-sidebar"> 2659 <li id="nav_menu-4" class="widget widget_nav_menu"><h2 class="widgettitle">Featured Authors</h2> 2660<div class="menu-authors-container"><ul id="menu-authors" class="menu"><li id="menu-item-944" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-944"><a href="/author/marcocantu/">Marco Cantu</a></li> 2661<li id="menu-item-52259" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-52259"><a href="https://blogs.embarcadero.com/author/ianbarker/">Ian Barker</a></li> 2662<li id="menu-item-52258" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-52258"><a href="https://blogs.embarcadero.com/author/stephenball/">Stephen Ball</a></li> 2663<li id="menu-item-52260" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-52260"><a href="https://blogs.embarcadero.com/category/tech-partner/">Technology Partners</a></li> 2664</ul></div></li> 2665 <li id="saxon-list-posts-1" class="widget widget_saxon_list_entries"> <h2 class="widgettitle">Featured Posts</h2> 2666 <ul> 2667 2668 <li class="template-shortline"> 2669 <div class="saxon-shortline-post saxon-post" data-aos="fade-up"><div class="saxon-post-image-wrapper"><a href="https://blogs.embarcadero.com/announcing-the-availability-of-rad-studio-13-florence-update-1/"><div class="saxon-post-image lazyload" data-style="background-image:inherit;" data-bg-image="url(https://blogs.embarcadero.com/wp-content/uploads/2026/03/florence-13-1-launch-webinar-replay-no-q-a-110x90.jpg)"></div></a></div><div class="saxon-post-details"> 2670 2671 <h3 class="post-title"><a href="https://blogs.embarcadero.com/announcing-the-availability-of-rad-studio-13-florence-update-1/">Announcing the Availability of RAD Studio 13 Florence Update 1</a></h3><div class="post-date">March 19, 2026</div></div></div> </li> 2672 <li class="template-shortline"> 2673 <div class="saxon-shortline-post saxon-post" data-aos="fade-up"><div class="saxon-post-image-wrapper">
2673<a href="https://blogs.embarcadero.com/the-spirit-of-c-freedom-responsibility-and-the-reality-of-complex-systems/"><div class="saxon-post-image lazyload" data-style="background-image:inherit;" data-bg-image="url(https://blogs.embarcadero.com/wp-content/uploads/2026/02/cg-blog-cnot-unsafe-volker-3496213-110x90.png)"></div></a></div><div class="saxon-post-details"> 2674 2675 <h3 class="post-title"><a href="https://blogs.embarcadero.com/the-spirit-of-c-freedom-responsibility-and-the-reality-of-complex-systems/">The Spirit of C++: Freedom, Responsibility, and the Reality of Complex Systems</a></h3><div class="post-date">February 12, 2026</div></div></div> </li> 2676 2677 </ul> 2678 </li> 2679<li id="saxon-categories-1" class="widget widget_saxon_categories"><h2 class="widgettitle">Categories</h2> 2680 <div class="post-categories"> 2681 <a href="https://blogs.embarcadero.com/category/ai/" data-style="">AI<span class="post-categories-counter">31</span></a><a href="https://blogs.embarcadero.com/category/news/business-development/" data-style="background-color: #000000;">Business Development<span class="post-categories-counter">7</span></a><a href="https://blogs.embarcadero.com/category/cpp/" data-style="background-color: #01487e;">C++<span class="post-categories-counter">1005</span></a><a href="https://blogs.embarcadero.com/category/case-study/" data-style="">Case Study<span class="post-categories-counter">26</span></a><a href="https://blogs.embarcadero.com/category/code/" data-style="background-color: #01487e;">Code<span class="post-categories-counter">625</span></a><a href="https://blogs.embarcadero.com/category/news/contest/" data-style="">Contest<span class="post-categories-counter">3</span></a><a href="https://blogs.embarcadero.com/category/database/" data-style="background-color: #01487e;">Database<span class="post-categories-counter">151</span></a><a href="https://blogs.embarcadero.com/category/delphi/" data-style="background-color: #01487e;">Delphi<span class="post-categories-counter">1684</span></a><a href="https://blogs.embarcadero.com/category/developer-interviews/" data-style="">Developer Interviews<span class="post-categories-counter">23</span></a><a href="https://blogs.embarcadero.com/category/news/event/" data-style="background-color: #000000;">Event<span class="post-categories-counter">9</span></a><a href="https://blogs.embarcadero.com/category/firemonkey/" data-style="">FireMonkey<span class="post-categories-counter">20</span></a><a href="https://blogs.embarcadero.com/category/home-banners/" data-style="">Home Banners<span class="post-categories-counter">1</span></a><a href="https://blogs.embarcadero.com/category/news/how-tos/" data-style="background-color: #000000;">How-To's<span class="post-categories-counter">37</span></a><a href="https://blogs.embarcadero.com/category/ide/" data-style="background-color: #01487e;">IDE<span class="post-categories-counter">275</span></a><a href="https://blogs.embarcadero.com/category/interbase/" data-style="background-color: #01487e;">InterBase<span class="post-categories-counter">58</span></a><a href="https://blogs.embarcadero.com/category/interview/" data-style="background-color: #000000;">Interview<span class="post-categories-counter">51</span></a><a href="https://blogs.embarcadero.com/category/kai/" data-style="">Kai<span class="post-categories-counter">9</span></a><a href="https://blogs.embarcadero.com/category/modernization/" data-style="">Modernization<span class="post-categories-counter">37</span></a><a href="https://blogs.embarcadero.com/category/news/" data-style="background-color: #01487e;">News<span class="post-categories-counter">1110</span></a><a href="https://blogs.embarcadero.com/category/news/productivity/" data-style="background-color: #000000;">Productivity<span class="post-categories-counter">31</span></a><a href="https://blogs.embarcadero.com/category/python/" data-style="">Python<span class="post-categories-counter">16</span></a><a href="https://blogs.embarcadero.com/category/rad-server/" data-style="">RAD Server<span class="post-categories-counter">11</span></a>
2681<a href="https://blogs.embarcadero.com/category/rad-studio/" data-style="background-color: #01487e;">RAD Studio<span class="post-categories-counter">804</span></a><a href="https://blogs.embarcadero.com/category/news/research/" data-style="background-color: #000000;">Research<span class="post-categories-counter">12</span></a><a href="https://blogs.embarcadero.com/category/security/" data-style="">Security<span class="post-categories-counter">2</span></a><a href="https://blogs.embarcadero.com/category/showcase/" data-style="background-color: #1e73be;">Showcase<span class="post-categories-counter">296</span></a><a href="https://blogs.embarcadero.com/category/tech-partner/" data-style="background-color: #01487e;">Tech Partner<span class="post-categories-counter">193</span></a><a href="https://blogs.embarcadero.com/category/news/webinar/" data-style="background-color: #000000;">Webinar<span class="post-categories-counter">66</span></a><a href="https://blogs.embarcadero.com/category/news/whitepaper/" data-style="background-color: #000000;">Whitepaper<span class="post-categories-counter">11</span></a><a href="https://blogs.embarcadero.com/category/windows/" data-style="">Windows<span class="post-categories-counter">44</span></a> </div> 2682 </li> 2683<li id="saxon-social-icons-1" class="widget widget_saxon_social_icons"><h2 class="widgettitle">Never miss news</h2> 2684<div class="textwidget"> <li id="saxon-list-posts-2" class="widget widget_saxon_list_entries"> <h2 class="widgettitle">Popular posts</h2> 2685 <ul> 2686 2687 <li class="template-overlay-alt"> 2688 <div class="saxon-overlay-alt-post saxon-post saxon-post-invert" data-aos="fade-up"><div class="saxon-post-wrapper-inner"><div class="saxon-post-image lazyload" data-style="background-image:inherit;" data-bg-image="url(https://blogs.embarcadero.com/wp-content/uploads/2026/03/florence-13-1-launch-webinar-replay-no-q-a-1140x694.jpg)"></div><div class="saxon-post-details"> 2689<div class="post-categories"><a href="https://blogs.embarcadero.com/category/news/" data-style="background-color: #01487e;">News</a></div> 2690 <div class="saxon-post-details-inner"> 2691 2692 <h3 class="post-title"><a href="https://blogs.embarcadero.com/announcing-the-availability-of-rad-studio-13-florence-update-1/">Announcing the Availability of RAD Studio 13 Florence Update 1</a></h3><div class="post-author"> 2693 <div class="post-author-image"> 2694 <a href="https://blogs.embarcadero.com/author/marcocantuembarcadero-com/"><img alt='' data-src='https://blogs.embarcadero.com/wp-content/wphb-cache/gravatar/540/5406a6d2fb764aa5eade435b5c3a17cfx28.jpg' data-srcset='https://blogs.embarcadero.com/wp-content/wphb-cache/gravatar/540/5406a6d2fb764aa5eade435b5c3a17cfx56.jpg 2x' class='avatar avatar-28 photo lazyload' height='28' width='28' decoding='async' src='data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==' style='--smush-placeholder-width: 28px; --smush-placeholder-aspect-ratio: 28/28;' /></a></div>By <a href="https://blogs.embarcadero.com/author/marcocantuembarcadero-com/" rel="author">Marco Cantu</a></div> 2695<div class="post-date">March 19, 2026</div></div></div></div></div> </li> 2696 <li class="template-overlay-alt"> 2697 <div class="saxon-overlay-alt-post saxon-post saxon-post-invert" data-aos="fade-up"><div class="saxon-post-wrapper-inner"><div class="saxon-post-image lazyload" data-style="background-image:inherit;" data-bg-image="url(https://blogs.embarcadero.com/wp-content/uploads/2026/02/cg-blog-cnot-unsafe-volker-3496213.png)"></div><div class="saxon-post-details"> 2698<div class="post-categories"><a href="https://blogs.embarcadero.com/category/cpp/" data-style="background-color: #01487e;">C++</a><a href="https://blogs.embarcadero.com/category/news/" data-style="background-color: #01487e;">News</a></div> 2699 <div class="saxon-post-details-inner"> 2700 2701 <h3 class="post-title"><a href="https://blogs.embarcadero.com/the-spirit-of-c-freedom-responsibility-and-the-reality-of-complex-systems/">The Spirit of C++: Freedom, Responsibility, and the Reality of Complex Systems</a></h3><div class="post-author"> 2702 <div class="post-author-image">
2703 <a href="https://blogs.embarcadero.com/author/volker/"><img alt='' data-src='https://blogs.embarcadero.com/wp-content/wphb-cache/gravatar/c91/c910f450bb5a999970f3a823f86df85ex28.jpg' data-srcset='https://blogs.embarcadero.com/wp-content/wphb-cache/gravatar/c91/c910f450bb5a999970f3a823f86df85ex56.jpg 2x' class='avatar avatar-28 photo lazyload' height='28' width='28' decoding='async' src='data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==' style='--smush-placeholder-width: 28px; --smush-placeholder-aspect-ratio: 28/28;' /></a></div>By <a href="https://blogs.embarcadero.com/author/volker/" rel="author">Volker Hillmann</a></div> 2704<div class="post-date">February 12, 2026</div></div></div></div></div> </li> 2705 2706 </ul> 2707 </li> 2708<li id="calendar-2" class="widget widget_calendar"><h2 class="widgettitle">Archives</h2> 2709<div id="calendar_wrap" class="calendar_wrap"><table id="wp-calendar" class="wp-calendar-table"> 2710 <caption>September 2026</caption> 2711 <thead> 2712 <tr> 2713 <th scope="col" aria-label="Monday">M</th> 2714 <th scope="col" aria-label="Tuesday">T</th> 2715 <th scope="col" aria-label="Wednesday">W</th> 2716 <th scope="col" aria-label="Thursday">T</th> 2717 <th scope="col" aria-label="Friday">F</th> 2718 <th scope="col" aria-label="Saturday">S</th> 2719 <th scope="col" aria-label="Sunday">S</th> 2720 </tr> 2721 </thead> 2722 <tbody> 2723 <tr> 2724 <td colspan="1" class="pad"> </td><td>1</td><td><a href="https://blogs.embarcadero.com/2026/09/02/" aria-label="Posts published on September 2, 2026">2</a></td><td>3</td><td><a href="https://blogs.embarcadero.com/2026/09/04/" aria-label="Posts published on September 4, 2026">4</a></td><td>5</td><td>6</td> 2725 </tr> 2726 <tr> 2727 <td>7</td><td><a href="https://blogs.embarcadero.com/2026/09/08/" aria-label="Posts published on September 8, 2026">8</a></td><td>9</td><td><a href="https://blogs.embarcadero.com/2026/09/10/" aria-label="Posts published on September 10, 2026">10</a></td><td>11</td><td>12</td><td>13</td> 2728 </tr> 2729 <tr> 2730 <td><a href="https://blogs.embarcadero.com/2026/09/14/" aria-label="Posts published on September 14, 2026">14</a></td><td><a href="https://blogs.embarcadero.com/2026/09/15/" aria-label="Posts published on September 15, 2026">15</a></td><td>16</td><td><a href="https://blogs.embarcadero.com/2026/09/17/" aria-label="Posts published on September 17, 2026">17</a></td><td>18</td><td>19</td><td>20</td> 2731 </tr> 2732 <tr> 2733 <td>21</td><td>22</td><td><a href="https://blogs.embarcadero.com/2026/09/23/" aria-label="Posts published on September 23, 2026">23</a></td><td id="today">24</td><td>25</td><td>26</td><td>27</td> 2734 </tr> 2735 <tr> 2736 <td>28</td><td>29</td><td>30</td> 2737 <td class="pad" colspan="4"> </td> 2738 </tr> 2739 </tbody> 2740 </table><nav aria-label="Previous and next months" class="wp-calendar-nav"> 2741 <span class="wp-calendar-nav-prev"><a href="https://blogs.embarcadero.com/2026/08/">« Aug</a></span> 2742 <span class="pad"> </span> 2743 <span class="wp-calendar-nav-next"> </span> 2744 </nav></div></li> 2745<li id="block-5" class="widget widget_block"> 2746<div class="wp-block-group"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained"></div></div> 2747</li> 2748 </ul> 2749 </div> 2750 </div> 2751</div> 2752</div> 2753 2754 2755 2756 2757 2758<div class="footer-sidebar-2-wrapper footer-black"> 2759 <div class="footer-sidebar-2 sidebar container footer-sidebar-2-container"> 2760 <ul id="footer-sidebar-2"> 2761 <li id="text-1" class="widget widget_text"> <div class="textwidget"><p><img decoding="async" class="wp-image-810 alignleft lazyload" data-src="https://blogs.embarcadero.com/wp-content/uploads/2025/09/cropped-android-chrome-512x512-1002932-6512411.png" alt="Embarcadero" width="60" height="60" style="--smush-placeholder-width: 60px; --smush-placeholder-aspect-ratio: 60/60;margin-bottom: 10px;" src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==" /></p> 2762<p style="padding-right: 30px;">Embarcadero’s users understand the scalability and stability of C++ and Delphi programming, and depend on the decades of innovation those languages bring to development. Ninety of the Fortune 100 and an active community of more than three million users worldwide have relied on Embarca
2762dero’s award-winning products over the past 30 years. Icons by <a href="https://icons8.com/" rel="nofollow ">Icons8.com</a>.</p> 2763<p>© 2026 <a href="https://www.embarcadero.com/">EMBARCADERO</a> INC. ALL RIGHTS RESERVED</p> 2764</div> 2765 </li> 2766<li id="nav_menu-2" class="widget widget_nav_menu"><h2 class="widgettitle">Categories</h2> 2767<div class="menu-categories-container"><ul id="menu-categories" class="menu"><li id="menu-item-837" class="menu-item menu-item-type-taxonomy menu-item-object-category current-menu-item menu-item-837"><a href="https://blogs.embarcadero.com/category/news/" aria-current="page">News</a></li> 2768<li id="menu-item-838" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-838"><a href="https://blogs.embarcadero.com/category/rad-studio/">RAD Studio</a> 2769<ul class="sub-menu"> 2770 <li id="menu-item-51503" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-51503"><a href="https://blogs.embarcadero.com/es/category/code/">Code</a></li> 2771 <li id="menu-item-841" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-841"><a href="https://blogs.embarcadero.com/category/ide/">IDE</a></li> 2772 <li id="menu-item-929" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-929"><a href="https://blogs.embarcadero.com/category/database/">Database</a></li> 2773</ul> 2774</li> 2775<li id="menu-item-840" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-840"><a href="https://blogs.embarcadero.com/category/delphi/">Delphi</a></li> 2776<li id="menu-item-839" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-839"><a href="https://blogs.embarcadero.com/category/cpp/">C++</a></li> 2777<li id="menu-item-51502" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-51502"><a href="https://blogs.embarcadero.com/category/interbase/">InterBase</a></li> 2778<li id="menu-item-936" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-936"><a href="https://blogs.embarcadero.com/community/">Community</a></li> 2779<li id="menu-item-928" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-928"><a href="https://blogs.embarcadero.com/category/tech-partner/">Tech Partner</a></li> 2780</ul></div></li> 2781<li id="nav_menu-3" class="widget widget_nav_menu"><h2 class="widgettitle">Useful Links</h2> 2782<div class="menu-main-menu-container"><ul id="menu-main-menu-3" class="menu"><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-677"><a href="/">Home</a></li> 2783<li class="menu-item menu-item-type-taxonomy menu-item-object-category current-menu-item menu-item-has-children menu-item-926"><a href="https://blogs.embarcadero.com/category/news/" aria-current="page">News</a> 2784<ul class="sub-menu"> 2785 <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-679"><a href="https://blogs.embarcadero.com/category/rad-studio/">RAD Studio</a> 2786 <ul class="sub-menu"> 2787 <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-680"><a href="https://blogs.embarcadero.com/category/ide/">IDE</a></li> 2788 <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-43240"><a href="https://blogs.embarcadero.com/category/code/">Code</a></li> 2789 <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-930"><a href="https://blogs.embarcadero.com/category/database/">Database</a></li> 2790 </ul> 2791</li> 2792 <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-824"><a href="https://blogs.embarcadero.com/category/delphi/">Delphi</a></li> 2793 <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-823"><a href="https://blogs.embarcadero.com/category/cpp/">C++</a></li> 2794 <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-974"><a href="https://blogs.embarcadero.com/category/interbase/">InterBase</a></li> 2795 <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-927">
2795<a href="https://blogs.embarcadero.com/category/tech-partner/">Tech Partner</a></li> 2796</ul> 2797</li> 2798<li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-56783"><a href="https://blogs.embarcadero.com/category/showcase/">Showcase</a> 2799<ul class="sub-menu"> 2800 <li class="menu-item menu-item-type-post_type menu-item-object-post menu-item-160644"><a href="https://blogs.embarcadero.com/enterprise-software-development-article-challenge/">Enterprise Software Development Article Challenge</a></li> 2801 <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-68502"><a href="https://blogs.embarcadero.com/category/showcase/">View All</a></li> 2802 <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-73386"><a href="/?s=cool+app">Cool Apps</a></li> 2803 <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-68499"><a href="https://blogs.embarcadero.com/showcase-submission-form/">Submit</a></li> 2804 <li class="menu-item menu-item-type-post_type menu-item-object-post menu-item-68954"><a href="https://blogs.embarcadero.com/submit-your-own-amazing-projects-to-the-embarcadero-showcase/">About</a></li> 2805</ul> 2806</li> 2807<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-935"><a href="https://blogs.embarcadero.com/community/">Community</a> 2808<ul class="sub-menu"> 2809 <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-59979"><a href="https://blogs.embarcadero.com/community/">Forums</a></li> 2810 <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-58606"><a href="https://learndelphi.org/">Learn Delphi</a></li> 2811 <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-66623"><a href="https://learncplusplus.org/">Learn C++</a></li> 2812 <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-59371"><a href="https://www.delphifeeds.com/">DelphiFeeds</a></li> 2813 <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-65769"><a href="https://delphi.embarcadero.com/">Delphi 25th Anniversary</a></li> 2814 <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-66624"><a href="https://pythongui.org/">Python GUI</a></li> 2815</ul> 2816</li> 2817<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-64380"><a href="#">ð</a> 2818<ul class="sub-menu"> 2819 <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-64379"><a href="/">English</a></li> 2820 <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-64381"><a href="/de/">Deutsch</a></li> 2821 <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-64382"><a href="/es/">Español</a></li> 2822 <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-64383"><a href="/fr/">Français</a></li> 2823 <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-64384"><a href="/pt/">Português</a></li> 2824 <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-64385"><a href="/ru/">Ð ÑÑÑкий</a></li> 2825 <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-64386"><a href="/ja/">æ¥æ¬èª</a></li> 2826</ul> 2827</li> 2828</ul></div></li> 2829<li id="saxon-text-4" class="widget widget_saxon_text"> <div class="saxon-textwidget-wrapper "> 2830 <h2 class="widgettitle">Follow us</h2> 2831 <div class="saxon-textwidget" data-style=""><div class="widget_saxon_social_icons shortcode_saxon_social_icons"><div class="social-icons-wrapper"><a href="https://www.facebook.com/embarcaderotech/" target="_blank" class="a-facebook"><i class="fa fa-facebook"></i></a><a href="https://twitter.com/EmbarcaderoTech" target="_blank" class="a-twitter"><i class="fa fa-twitter"></i></a><a href="https://github.com/Embarcadero" target="_blank" class="a-github"><i class="fa fa-github"></i></a><a href="https://www.youtube.com/channel/UCMmsCQhkz-WlJ-IVBzPhbgA" target="_blank" class="a-youtube"><i class="fa fa-youtube"></i></a></div></div> 2832</div> 2833 </div> 2834 </li> 2835 </ul> 2836 </div> 2837</div> 2838 2839<a class="scroll-to-top btn alt" aria-label="Scroll to top" href="#top"></a> 2840 2841 2842 2843 2844 2845<div id="readerview" class="rv-white-theme" data-defaulttheme="rv-white-theme" data-defaultfont="rv-sanserif-font" data-rvselectpostid="-1"> 2846 2847 2848 <div class="readerview-double-bounce"> 2849 <div class="readerview-child readerview-double-bounce1"></div> 2850 <div class="readerview-child readerview-double-bounce2"></div> 2851 </div> 2852 2853 <div id="rv-header"> 2854 <div class="rv-header-container is-visible"> 2855 <div class="rv-header-content rv-header-color"> 2856 2857 <div class="readerview-content-width rv-center"> 2858 2859 <div id="readerview-logo"> 2860 <a href="#"> 2861 <div id="logo-retina"></div> 2862 </a> 2863 </div> 2864 2865 <div id="readerview-header-article"> 2866 <div class="rv-post-title"></div> 2867 2868 <form class="rv-search-form" method="get" action=""> 2869 <input type="text" id="readerview-search" name="readerview-search" placeholder="Searching in..."> 2870 </form> 2871 2872 </div> 2873 2874 <div id="readerview-tools"> 2875 <a href="#" class="rv-search-close" style="display: none;"><i class="fa fa-times"></i></a> 2876 <a href="#" class="rv-search" style="display: inline-block;"><i class="fa fa-search"></i></a> 2877 2878 <div class="rv-change-container"> 2879 <a href="javascript:void(0);" id="rv-change" class="rv-change"><i class="fa fa-adjust"></i></a> 2880 2881 <div class="rv-options"> 2882 <div class="rv-options-bg"> 2883 <div class="rv-font-options"> 2884 <a class="rv-sans-serif selected" data-rvfont="rv-sanserif-font" href="#">Aa <span>Sans-serif</span></a> 2885 <a class="rv-serif" data-rvfont="rv-serif-font" href="#">Aa <span>Serif</span></a> 2886 <div class="rv-clearfix"></div> 2887 </div> 2888 <div class="rv-size-options"> 2889 <a class="rv-minus" id="rv_decfont" href="#"><i class="fa fa-minus"></i></a> 2890 <a class="rv-plus" id="rv_incfont" href="#"><i class="fa fa-plus"></i></a> 2891 <div class="rv-clearfix"></div> 2892 </div> 2893 <div class="rv-theme-options"> 2894 <a class="rv-change-theme rv-light selected" data-theme="rv-white-theme" href="#">Light</a> 2895 <a class="rv-change-theme rv-dark" data-theme="rv-dark-theme"href="#">Dark</a> 2896 <a class="rv-change-theme rv-custom" data-theme="rv-custom-theme" href="#">Sepia</a> 2897 <div class="rv-clearfix"></div> 2898 </div> 2899 <div class="rv-clearfix"></div> 2900 </div> 2901 </div> 2902 </div> 2903 <a href="#" class="rv-close"><i class="fa fa-times"></i></a> 2904 </div>
2905 </div> 2906 2907 </div> 2908 </div> 2909 </div> 2910 2911 <div id="rv-body"> 2912 <div id="scroller"> 2913 <div class="readerview-content-width rv-body-content rv-center"> 2914 <small class="rv-post-date"></small> 2915 <h1 id="rv-post-title"></h1> 2916 <div id="readerview-one-content"></div> 2917 <div class="readerview-post-tags"></div> 2918 </div> 2919 2920 <div id="reader-view-relation"> 2921 <div class="readerview-content-width rv-center"> 2922 2923 2924 2925 <div class="rv-nextprev-post-title">IN THE ARTICLES</div> 2926 <div class="rv-nextprev-post-content"> 2927 <div class="post-direction rv-border-right"> 2928 <span class="post-prev"></span> 2929 </div> 2930 2931 <div class="post-direction"> 2932 <span class="post-next"></span> 2933 </div> 2934 2935 <div class="rv-clearfix"></div> 2936 </div> 2937 2938 </div> 2939 </div> 2940 2941 </div><!-- scroller --> 2942 <a id="rv-post-prev" href="#"><i class="fa fa-angle-left"></i></a> 2943 <a id="rv-post-next" href="#"><i class="fa fa-angle-right"></i></a> 2944 </div> 2945 2946 <div id="rv-footer"> 2947 <div class="rv-bottom-container is-visible"> 2948 <div class="rv-bottom-content"> 2949 <div class="readerview-content-width rv-center rv-bottom-color"> 2950 <div class="rv-floatleft"> 2951 <a class="rv-comments" href="#"><i class="fa fa-comment-o"></i></a> 2952 </div> 2953 2954 <div class="rv-floatright"> 2955 <span id="readerview-socials"><a href="#"><i class="fa fa-twitter"></i></a><a href="#"><i class="fa fa-facebook"></i></a></span> 2956 <div class="rv-separator"></div> 2957 <span id="readerview-author"></span> 2958 </div> 2959 </div> 2960 </div> 2961 </div> 2962 </div> 2963 2964 <div id="rv-ads" class="rv-ad-bottom-right"> 2965 <div id="rv-ads-content"> 2966 <a href="#" id="rv-ads-close"><i class="fa fa-times-circle"></i></a> 2967 <a href="" target="_blank"><img src="" alt=""></a> 2968 </div> 2969 </div> 2970 2971</div> 2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 2982 2983 2984 2985 2986 2987 2988 2989 2990 2991 2992 2993 2994 2995 2996 2997 2998 2999 3000 3001 3002 3003 3004 3005
3006<script id="jquery-core-js" src="https://blogs.embarcadero.com/wp-includes/js/jquery/jquery.js" type="c64e5de2d38c181e1d7470af-text/javascript"></script>
3006<script id="jquery-migrate-js" src="https://blogs.embarcadero.com/wp-includes/js/jquery/jquery-migrate.js" type="c64e5de2d38c181e1d7470af-text/javascript"></script>
3006<script id="urvanov_syntax_highlighter_js-js-extra" type="c64e5de2d38c181e1d7470af-text/javascript"> 3007var UrvanovSyntaxHighlighterSyntaxSettings = {"version":"2.9.1","is_admin":"0","ajaxurl":"https://blogs.embarcadero.com/wp-admin/admin-ajax.php","prefix":"urvanov-syntax-highlighter-","setting":"urvanov-syntax-highlighter-setting","selected":"urvanov-syntax-highlighter-setting-selected","changed":"urvanov-syntax-highlighter-setting-changed","special":"urvanov-syntax-highlighter-setting-special","orig_value":"data-orig-value","debug":""}; 3008var UrvanovSyntaxHighlighterSyntaxStrings = {"copy":"Copied to the clipboard","minimize":"Click To Expand Code"}; 3009//# sourceURL=urvanov_syntax_highlighter_js-js-extra 3010</script>
3010<script id="urvanov_syntax_highlighter_js-js" src="https://blogs.embarcadero.com/wp-content/plugins/urvanov-syntax-highlighter/js/min/urvanov_syntax_highlighter.min.js" type="c64e5de2d38c181e1d7470af-text/javascript"></script>
3010<script id="js-cache-saxon-js" src="https://blogs.embarcadero.com/wp-content/uploads/js-cache-saxon.js" type="c64e5de2d38c181e1d7470af-text/javascript"></script>
3010<script type="c64e5de2d38c181e1d7470af-text/javascript"> 3011 document.documentElement.className = document.documentElement.className.replace('no-js', 'js'); 3012 </script>
3012<script type="speculationrules"> 3013{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/saxon/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]} 3014</script>
3014<script id='kirki-viewport-lists' type="c64e5de2d38c181e1d7470af-text/javascript">var kirkiViewports = {"md":{"value":1200,"scale":1,"minWidth":1200,"maxWidth":1200,"title":"Desktop","icon":"desktop","activeIcon":"desktop-hover","id":"md","type":"max"},"tablet":{"value":991,"scale":1,"minWidth":991,"maxWidth":991,"title":"Tablet","icon":"tablet-default","activeIcon":"tablet-hover","type":"max","id":"tablet"},"mobileLandscape":{"value":767,"scale":1,"minWidth":767,"maxWidth":767,"title":"Landscape","icon":"phone-hr-default","activeIcon":"phone-hr-hover","type":"max","id":"mobileLandscape"},"mobile":{"value":575,"scale":1,"minWidth":575,"maxWidth":575,"title":"Mobile","icon":"phone-vr-default","activeIcon":"phone-vr-hover","type":"max","id":"mobile"}};</script>
3014<script id='kirki-variable-lists' type="c64e5de2d38c181e1d7470af-text/javascript">var kirkiCSSVariable = {"data":[{"title":"Colors","key":"color","modes":[{"title":"Default","key":"default"}],"variables":[]},{"title":"Numbers","key":"size","modes":[{"title":"Default","key":"default"}],"variables":[]},{"title":"Text Styles","key":"text-style","modes":[{"title":"Default","key":"default"}],"variables":[]},{"title":"Font Family","key":"font-family","modes":[{"title":"Default","key":"default"}],"variables":[]}]};</script>
3014<script id="kirki-api-and-nonce" type="c64e5de2d38c181e1d7470af-text/javascript"> 3015 window.wp_kirki = { 3016 ajaxUrl: "https://blogs.embarcadero.com/wp-admin/admin-ajax.php", 3017 restUrl: "https://blogs.embarcadero.com/wp-json/", 3018 siteUrl: "https://blogs.embarcadero.com", 3019 apiVersion: "v1", 3020 postId: "201818", 3021 nonce: "eebd720dd9", 3022 call_from: "", 3023 templateId: "", 3024 context: {"id":1,"type":"term"} 3025 }; 3026 </script>
3026<script id="responsive-lightbox-featherlight-js" src="https://blogs.embarcadero.com/wp-content/plugins/responsive-lightbox/assets/featherlight/featherlight.js" type="c64e5de2d38c181e1d7470af-text/javascript"></script>
3026<script id="responsive-lightbox-featherlight-gallery-js" src="https://blogs.embarcadero.com/wp-content/plugins/responsive-lightbox/assets/featherlight/featherlight.gallery.js" type="c64e5de2d38c181e1d7470af-text/javascript"></script>
3026<script id="underscore-js" src="https://blogs.embarcadero.com/wp-includes/js/underscore.min.js" type="c64e5de2d38c181e1d7470af-text/javascript"></script>
3026<script id="responsive-lightbox-infinite-scroll-js" src="https://blogs.embarcadero.com/wp-content/plugins/responsive-lightbox/assets/infinitescroll/infinite-scroll.pkgd.js" type="c64e5de2d38c181e1d7470af-text/javascript"></script>
3026<script id="dompurify-js" src="https://blogs.embarcadero.com/wp-content/plugins/responsive-lightbox/assets/dompurify/purify.min.js" type="c64e5de2d38c181e1d7470af-text/javascript"></script>
3026<script id="responsive-lightbox-sanitizer-js-before" type="c64e5de2d38c181e1d7470af-text/javascript"> 3027window.RLG = window.RLG || {}; window.RLG.sanitizeAllowedHosts = ["youtube.com","www.youtube.com","youtu.be","vimeo.com","player.vimeo.com"]; 3028//# sourceURL=responsive-lightbox-sanitizer-js-before 3029</script>
3029<script id="responsive-lightbox-sanitizer-js" src="https://blogs.embarcadero.com/wp-content/plugins/responsive-lightbox/js/sanitizer.js" type="c64e5de2d38c181e1d7470af-text/javascript"></script>
3029<script id="responsive-lightbox-js-before" type="c64e5de2d38c181e1d7470af-text/javascript"> 3030var rlArgs = {"script":"featherlight","selector":"lightbox","customEvents":"","activeGalleries":true,"openSpeed":250,"closeSpeed":250,"closeOnClick":"background","closeOnEsc":true,"galleryFadeIn":100,"galleryFadeOut":300,"woocommerce_gallery":false,"ajaxurl":"https:\/\/blogs.embarcadero.com\/wp-admin\/admin-ajax.php","nonce":"e507fa3abd","preview":false,"postId":201818,"scriptExtension":false}; 3031 3032//# sourceURL=responsive-lightbox-js-before 3033</script>
3033<script id="responsive-lightbox-js" src="https://blogs.embarcadero.com/wp-content/plugins/responsive-lightbox/js/front.js" type="c64e5de2d38c181e1d7470af-text/javascript"></script>
3033<script id="pll_cookie_script-js-after" type="c64e5de2d38c181e1d7470af-text/javascript"> 3034(function() { 3035 var expirationDate = new Date(); 3036 expirationDate.setTime( expirationDate.getTime() + 31536000 * 1000 ); 3037 document.cookie = "pll_language=en; expires=" + expirationDate.toUTCString() + "; path=/; secure; SameSite=Lax"; 3038 }()); 3039 3040//# sourceURL=pll_cookie_script-js-after 3041</script>
3041<script id="eztoc-js-cookie-js" src="https://blogs.embarcadero.com/wp-content/plugins/easy-table-of-contents/vendor/js-cookie/js.cookie.js" type="c64e5de2d38c181e1d7470af-text/javascript"></script>
3041<script id="eztoc-jquery-sticky-kit-js" src="https://blogs.embarcadero.com/wp-content/plugins/easy-table-of-contents/vendor/sticky-kit/jquery.sticky-kit.js" type="c64e5de2d38c181e1d7470af-text/javascript"></script>
3041<script id="eztoc-js-js-extra" type="c64e5de2d38c181e1d7470af-text/javascript"> 3042var ezTOC = {"smooth_scroll":"","scroll_offset":"30","fallbackIcon":"\u003Cspan class=\"\"\u003E\u003Cspan class=\"eztoc-hide\" style=\"display:none;\"\u003EToggle\u003C/span\u003E\u003Cspan class=\"ez-toc-icon-toggle-span\"\u003E\u003Csvg style=\"fill: #999;color:#999\" xmlns=\"http://www.w3.org/2000/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"\u003E\u003Cpath d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"\u003E\u003C/path\u003E\u003C/svg\u003E\u003Csvg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http://www.w3.org/2000/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"\u003E\u003Cpath d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"/\u003E\u003C/svg\u003E\u003C/span\u003E\u003C/span\u003E","chamomile_theme_is_on":""}; 3043//# sourceURL=eztoc-js-js-extra 3044</script>
3044<script id="eztoc-js-js" src="https://blogs.embarcadero.com/wp-content/plugins/easy-table-of-contents/assets/js/front.js" type="c64e5de2d38c181e1d7470af-text/javascript"></script>
3044<script id="aos-js" src="https://blogs.embarcadero.com/wp-content/themes/saxon/js/aos/aos.js" type="c64e5de2d38c181e1d7470af-text/javascript"></script>
3044<script id="thickbox-js-extra" type="c64e5de2d38c181e1d7470af-text/javascript"> 3045var thickboxL10n = {"next":"Next \u003E","prev":"\u003C Prev","image":"Image","of":"of","close":"Close","noiframes":"This feature requires inline frames. You have iframes disabled or your browser does not support them.","loadingAnimation":"https://blogs.embarcadero.com/wp-includes/js/thickbox/loadingAnimation.gif"}; 3046//# sourceURL=thickbox-js-extra 3047</script>
3047<script id="thickbox-js" src="https://blogs.embarcadero.com/wp-includes/js/thickbox/thickbox.js" type="c64e5de2d38c181e1d7470af-text/javascript"></script>
3047<script id="bootstrap-js" src="https://blogs.embarcadero.com/wp-content/themes/saxon/js/bootstrap.min.js" type="c64e5de2d38c181e1d7470af-text/javascript"></script>
3047<script id="easing-js" src="https://blogs.embarcadero.com/wp-content/themes/saxon/js/easing.js" type="c64e5de2d38c181e1d7470af-text/javascript"></script>
3047<script id="saxon-select2-js" src="https://blogs.embarcadero.com/wp-content/themes/saxon/js/select2/select2.min.js" type="c64e5de2d38c181e1d7470af-text/javascript"></script>
3047<script id="owl-carousel-js" src="https://blogs.embarcadero.com/wp-content/themes/saxon/js/owl-carousel/owl.carousel.min.js" type="c64e5de2d38c181e1d7470af-text/javascript"></script>
3047<script id="saxon-script-js" src="https://blogs.embarcadero.com/wp-content/themes/saxon/js/template.js" type="c64e5de2d38c181e1d7470af-text/javascript"></script>
3047<script id="saxon-script-js-after" type="c64e5de2d38c181e1d7470af-text/javascript"> 3048(function($){ 3049 $(document).ready(function($) { 3050 3051 "use strict"; 3052 3053 $(".content-block ").on("click", ".saxon-post .post-like-button", function(e){ 3054 3055 e.preventDefault(); 3056 e.stopPropagation(); 3057 3058 var postlikes = $(this).next(".post-like-counter").text(); 3059 var postid = $(this).data("id"); 3060 3061 if(getCookie("saxon-likes-for-post-"+postid) == 1) { 3062 // Already liked 3063 } else { 3064 3065 setCookie("saxon-likes-for-post-"+postid, "1", 365); 3066 3067 $(this).children("i").attr("class", "fa fa-heart"); 3068 3069 $(this).next(".post-like-counter").text(parseInt(postlikes) + 1); 3070 3071 var data = { 3072 action: "saxon_likes", 3073 postid: postid, 3074 }; 3075 3076 var ajaxurl = "https://blogs.embarcadero.com/wp-admin/admin-ajax.php"; 3077 3078 $.post( ajaxurl, data, function(response) { 3079 3080 var wpdata = response; 3081 3082 }); 3083 } 3084 3085 }); 3086 3087 }); 3088 })(jQuery); 3089//# sourceURL=saxon-script-js-after 3090</script>
3090<script id="saxon-mega-menu-js" src="https://blogs.embarcadero.com/wp-content/themes/saxon/inc/modules/mega-menu/js/mega-menu.js" type="c64e5de2d38c181e1d7470af-text/javascript"></script>
3090<script id="erv-autocomplete-js" src="https://blogs.embarcadero.com/wp-content/plugins/readerview/assets/js/jquery.autocomplete.js" type="c64e5de2d38c181e1d7470af-text/javascript"></script>
3090<script id="erv-touchwipe-js" src="https://blogs.embarcadero.com/wp-content/plugins/readerview/assets/js/jquery.touchwipe.1.1.1.js" type="c64e5de2d38c181e1d7470af-text/javascript"></script>
3090<script id="erv-iscroll-js" src="https://blogs.embarcadero.com/wp-content/plugins/readerview/assets/js/iscroll.js" type="c64e5de2d38c181e1d7470af-text/javascript"></script>
3090<script id="erv-app-js-extra" type="c64e5de2d38c181e1d7470af-text/javascript"> 3091var erv = {"ajax_url":"//blogs.embarcadero.com/wp-admin/admin-ajax.php","readerview_selector":"","ad_show":"Disable","ads_widget_position":"bottom-right","ads_open_anim":"fadeInUp","ads_close_anim":"fadeOut","ad_open_time":"3","reopen_time":"0","auto_load_readerview":"Disable","auto_open_post_id":"0","dark_logo_retina":"","light_logo_retina":"","custom_logo_retina":""}; 3092//# sourceURL=erv-app-js-extra 3093</script>
3093<script id="erv-app-js" src="https://blogs.embarcadero.com/wp-content/plugins/readerview/assets/js/erv_app.js" type="c64e5de2d38c181e1d7470af-text/javascript"></script>
3093<script id="erv-colorbox-min-js" src="https://blogs.embarcadero.com/wp-content/plugins/readerview/assets/js/jquery.colorbox-min.js" type="c64e5de2d38c181e1d7470af-text/javascript"></script>
3093<script id="smush-lazy-load-js-before" type="c64e5de2d38c181e1d7470af-text/javascript"> 3094var smushLazyLoadOptions = {"autoResizingEnabled":false,"autoResizeOptions":{"precision":5,"skipAutoWidth":true,"cdnBaseURL":""}}; 3095//# sourceURL=smush-lazy-load-js-before 3096</script>
3096<script id="smush-lazy-load-js" src="https://blogs.embarcadero.com/wp-content/plugins/wp-smush-pro/app/assets/js/smush-lazy-load.min.js" type="c64e5de2d38c181e1d7470af-text/javascript"></script>
3096<script id="jetpack-stats-js-before" type="c64e5de2d38c181e1d7470af-text/javascript"> 3097_stq = window._stq || []; 3098_stq.push([ "view", {"v":"ext","blog":"180604657","post":"0","tz":"-5","srv":"blogs.embarcadero.com","arch_cat":"news","arch_results":"10","j":"1:16.2"} ]); 3099_stq.push([ "clickTrackerInit", "180604657", "0" ]); 3100//# sourceURL=jetpack-stats-js-before 3101</script>
3101<script data-wp-strategy="defer" defer fetchpriority="low" id="jetpack-stats-js" src="https://stats.wp.com/e-202639.js" type="c64e5de2d38c181e1d7470af-text/javascript"></script>
3101<script type="c64e5de2d38c181e1d7470af-text/javascript"> 3102function b2a(a){var b,c=0,l=0,f="",g=[];if(!a)return a;do{var e=a.charCodeAt(c++);var h=a.charCodeAt(c++);var k=a.charCodeAt(c++);var d=e<<16|h<<8|k;e=63&d>>18;h=63&d>>12;k=63&d>>6;d&=63;g[l++]="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(e)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(h)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(k)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(d)}while(c< 3103a.length);return f=g.join(""),b=a.length%3,(b?f.slice(0,b-3):f)+"===".slice(b||3)}function a2b(a){var b,c,l,f={},g=0,e=0,h="",k=String.fromCharCode,d=a.length;for(b=0;64>b;b++)f["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(b)]=b;for(c=0;d>c;c++)for(b=f[a.charAt(c)],g=(g<<6)+b,e+=6;8<=e;)((l=255&g>>>(e-=8))||d-2>c)&&(h+=k(l));return h}b64e=function(a){return btoa(encodeURIComponent(a).replace(/%([0-9A-F]{2})/g,function(b,a){return String.fromCharCode("0x"+a)}))}; 3104b64d=function(a){return decodeURIComponent(atob(a).split("").map(function(a){return"%"+("00"+a.charCodeAt(0).toString(16)).slice(-2)}).join(""))}; 3105/* <![CDATA[ */ 3106ai_front = {"insertion_before":"BEFORE","insertion_after":"AFTER","insertion_prepend":"PREPEND CONTENT","insertion_append":"APPEND CONTENT","insertion_replace_content":"REPLACE CONTENT","insertion_replace_element":"REPLACE ELEMENT","visible":"VISIBLE","hidden":"HIDDEN","fallback":"FALLBACK","automatically_placed":"Automatically placed by AdSense Auto ads code","cancel":"Cancel","use":"Use","add":"Add","parent":"Parent","cancel_element_selection":"Cancel element selection","select_parent_element":"Select parent element","css_selector":"CSS selector","use_current_selector":"Use current selector","element":"ELEMENT","path":"PATH","selector":"SELECTOR"}; 3107/* ]]> */ 3108var ai_cookie_js=!0,ai_block_class_def="code-block"; 3109/* 3110 js-cookie v3.0.5 | MIT JavaScript Cookie v2.2.0 3111 https://github.com/js-cookie/js-cookie 3112 3113 Copyright 2006, 2015 Klaus Hartl & Fagner Brack 3114 Released under the MIT license 3115*/ 3116if("undefined"!==typeof ai_cookie_js){(function(a,f){"object"===typeof exports&&"undefined"!==typeof module?module.exports=f():"function"===typeof define&&define.amd?define(f):(a="undefined"!==typeof globalThis?globalThis:a||self,function(){var b=a.Cookies,c=a.Cookies=f();c.noConflict=function(){a.Cookies=b;return c}}())})(this,function(){function a(b){for(var c=1;c<arguments.length;c++){var g=arguments[c],e;for(e in g)b[e]=g[e]}return b}function f(b,c){function g(e,d,h){if("undefined"!==typeof document){h= 3117a({},c,h);"number"===typeof h.expires&&(h.expires=new Date(Date.now()+864E5*h.expires));h.expires&&(h.expires=h.expires.toUTCString());e=encodeURIComponent(e).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var l="",k;for(k in h)h[k]&&(l+="; "+k,!0!==h[k]&&(l+="="+h[k].split(";")[0]));return document.cookie=e+"="+b.write(d,e)+l}}return Object.create({set:g,get:function(e){if("undefined"!==typeof document&&(!arguments.length||e)){for(var d=document.cookie?document.cookie.split("; "): 3118[],h={},l=0;l<d.length;l++){var k=d[l].split("="),p=k.slice(1).join("=");try{var n=decodeURIComponent(k[0]);h[n]=b.read(p,n);if(e===n)break}catch(q){}}return e?h[e]:h}},remove:function(e,d){g(e,"",a({},d,{expires:-1}))},withAttributes:function(e){return f(this.converter,a({},this.attributes,e))},withConverter:function(e){return f(a({},this.converter,e),this.attributes)}},{attributes:{value:Object.freeze(c)},converter:{value:Object.freeze(b)}})}return f({read:function(b){'"'===b[0]&&(b=b.slice(1,-1)); 3119return b.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent)},write:function(b){return encodeURIComponent(b).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,decodeURIComponent)}},{path:"/"})});AiCookies=Cookies.noConflict();function m(a){if(null==a)return a;'"'===a.charAt(0)&&(a=a.slice(1,-1));try{a=JSON.parse(a)}catch(f){}return a}ai_check_block=function(a){var f="undefined"!==typeof ai_debugging;if(null==a)return!0;var b=m(AiCookies.get("aiBLOCKS"));ai_debug_cookie_status="";null==b&&(b={});"undefined"!== 3120typeof ai_delay_showing_pageviews&&(b.hasOwnProperty(a)||(b[a]={}),b[a].hasOwnProperty("d")||(b[a].d=ai_delay_showing_pageviews,f&&console.log("AI CHECK block",a,"NO COOKIE DATA d, delayed for",ai_delay_showing_pageviews,"pageviews")));if(b.hasOwnProperty(a)){for(var c in b[a]){if("x"==c){var g="",e=document.querySelectorAll('span[data-ai-block="'+a+'"]')[0];"aiHash"in e.dataset&&(g=e.dataset.aiHash);e="";b[a].hasOwnProperty("h")&&(e=b[a].h);f&&console.log("AI CHECK block",a,"x cookie hash",e,"code hash", 3121g);var d=new Date;d=b[a][c]-Math.round(d.getTime()/1E3);if(0<d&&e==g)return ai_debug_cookie_status=b="closed for "+d+" s = "+Math.round(1E4*d/3600/24)/1E4+" days",f&&console.log("AI CHECK block",a,b),f&&console.log(""),!1;f&&console.log("AI CHECK block",a,"removing x");ai_set_cookie(a,"x","");b[a].hasOwnProperty("i")||b[a].hasOwnProperty("c")||ai_set_cookie(a,"h","")}else if("d"==c){if(0!=b[a][c])return ai_debug_cookie_status=b="delayed for "+b[a][c]+" pageviews",f&&console.log("AI CHECK block",a, 3122b),f&&console.log(""),!1}else if("i"==c){g="";e=document.querySelectorAll('span[data-ai-block="'+a+'"]')[0];"aiHash"in e.dataset&&(g=e.dataset.aiHash);e="";b[a].hasOwnProperty("h")&&(e=b[a].h);f&&console.log("AI CHECK block",a,"i cookie hash",e,"code hash",g);if(0==b[a][c]&&e==g)return ai_debug_cookie_status=b="max impressions reached",f&&console.log("AI CHECK block",a,b),f&&console.log(""),!1;if(0>b[a][c]&&e==g){d=new Date;d=-b[a][c]-Math.round(d.getTime()/1E3);if(0<d)return ai_debug_cookie_status= 3123b="max imp. reached ("+Math.round(1E4*d/24/3600)/1E4+" days = "+d+" s)",f&&console.log("AI CHECK block",a,b),f&&console.log(""),!1;f&&console.log("AI CHECK block",a,"removing i");ai_set_cookie(a,"i","");b[a].hasOwnProperty("c")||b[a].hasOwnProperty("x")||(f&&console.log("AI CHECK block",a,"cookie h removed"),ai_set_cookie(a,"h",""))}}if("ipt"==c&&0==b[a][c]&&(d=new Date,g=Math.round(d.getTime()/1E3),d=b[a].it-g,0<d))return ai_debug_cookie_status=b="max imp. per time reached ("+Math.round(1E4*d/24/ 31243600)/1E4+" days = "+d+" s)",f&&console.log("AI CHECK block",a,b),f&&console.log(""),!1;if("c"==c){g="";e=document.querySelectorAll('span[data-ai-block="'+a+'"]')[0];"aiHash"in e.dataset&&(g=e.dataset.aiHash);e="";b[a].hasOwnProperty("h")&&(e=b[a].h);f&&console.log("AI CHECK block",a,"c cookie hash",e,"code hash",g);if(0==b[a][c]&&e==g)return ai_debug_cookie_status=b="max clicks reached",f&&console.log("AI CHECK block",a,b),f&&console.log(""),!1;if(0>b[a][c]&&e==g){d=new Date;d=-b[a][c]-Math.round(d.getTime()/ 31251E3);if(0<d)return ai_debug_cookie_status=b="max clicks reached ("+Math.round(1E4*d/24/3600)/1E4+" days = "+d+" s)",f&&console.log("AI CHECK block",a,b),f&&console.log(""),!1;f&&console.log("AI CHECK block",a,"removing c");ai_set_cookie(a,"c","");b[a].hasOwnProperty("i")||b[a].hasOwnProperty("x")||(f&&console.log("AI CHECK block",a,"cookie h removed"),ai_set_cookie(a,"h",""))}}if("cpt"==c&&0==b[a][c]&&(d=new Date,g=Math.round(d.getTime()/1E3),d=b[a].ct-g,0<d))return ai_debug_cookie_status=b="max clicks per time reached ("+ 3126Math.round(1E4*d/24/3600)/1E4+" days = "+d+" s)",f&&console.log("AI CHECK block",a,b),f&&console.log(""),!1}if(b.hasOwnProperty("G")&&b.G.hasOwnProperty("cpt")&&0==b.G.cpt&&(d=new Date,g=Math.round(d.getTime()/1E3),d=b.G.ct-g,0<d))return ai_debug_cookie_status=b="max global clicks per time reached ("+Math.round(1E4*d/24/3600)/1E4+" days = "+d+" s)",f&&console.log("AI CHECK GLOBAL",b),f&&console.log(""),!1}ai_debug_cookie_status="OK";f&&console.log("AI CHECK block",a,"OK");f&&console.log("");return!0}; 3127ai_check_and_insert_block=function(a,f){var b="undefined"!==typeof ai_debugging;if(null==a)return!0;var c=document.getElementsByClassName(f);if(c.length){c=c[0];var g=c.closest("."+ai_block_class_def),e=ai_check_block(a);!e&&0!=parseInt(c.getAttribute("limits-fallback"))&&c.hasAttribute("data-fallback-code")&&(b&&console.log("AI CHECK FAILED, INSERTING FALLBACK BLOCK",c.getAttribute("limits-fallback")),c.setAttribute("data-code",c.getAttribute("data-fallback-code")),null!=g&&g.hasAttribute("data-ai")&& 3128c.hasAttribute("fallback-tracking")&&c.hasAttribute("fallback_level")&&g.setAttribute("data-ai-"+c.getAttribute("fallback_level"),c.getAttribute("fallback-tracking")),e=!0);c.removeAttribute("data-selector");e?(ai_insert_code(c),g&&(b=g.querySelectorAll(".ai-debug-block"),b.length&&(g.classList.remove("ai-list-block"),g.classList.remove("ai-list-block-ip"),g.classList.remove("ai-list-block-filter"),g.style.visibility="",g.classList.contains("ai-remove-position")&&(g.style.position="")))):(b=c.closest("div[data-ai]"), 3129null!=b&&"undefined"!=typeof b.getAttribute("data-ai")&&(e=JSON.parse(b64d(b.getAttribute("data-ai"))),"undefined"!==typeof e&&e.constructor===Array&&(e[1]="",b.setAttribute("data-ai",b64e(JSON.stringify(e))))),g&&(b=g.querySelectorAll(".ai-debug-block"),b.length&&(g.classList.remove("ai-list-block"),g.classList.remove("ai-list-block-ip"),g.classList.remove("ai-list-block-filter"),g.style.visibility="",g.classList.contains("ai-remove-position")&&(g.style.position=""))));c.classList.remove(f)}c=document.querySelectorAll("."+ 3130f+"-dbg");g=0;for(b=c.length;g<b;g++)e=c[g],e.querySelector(".ai-status").textContent=ai_debug_cookie_status,e.querySelector(".ai-cookie-data").textContent=ai_get_cookie_text(a),e.classList.remove(f+"-dbg")};ai_load_cookie=function(){var a="undefined"!==typeof ai_debugging,f=m(AiCookies.get("aiBLOCKS"));null==f&&(f={},a&&console.log("AI COOKIE NOT PRESENT"));a&&console.log("AI COOKIE LOAD",f);return f};ai_set_cookie=function(a,f,b){var c="undefined"!==typeof ai_debugging;c&&console.log("AI COOKIE SET block:", 3131a,"property:",f,"value:",b);var g=ai_load_cookie();if(""===b){if(g.hasOwnProperty(a)){delete g[a][f];a:{f=g[a];for(e in f)if(f.hasOwnProperty(e)){var e=!1;break a}e=!0}e&&delete g[a]}}else g.hasOwnProperty(a)||(g[a]={}),g[a][f]=b;0===Object.keys(g).length&&g.constructor===Object?(AiCookies.remove("aiBLOCKS"),c&&console.log("AI COOKIE REMOVED")):AiCookies.set("aiBLOCKS",JSON.stringify(g),{expires:365,path:"/"});if(c)if(a=m(AiCookies.get("aiBLOCKS")),"undefined"!=typeof a){console.log("AI COOKIE NEW", 3132a);console.log("AI COOKIE DATA:");for(var d in a){for(var h in a[d])"x"==h?(c=new Date,c=a[d][h]-Math.round(c.getTime()/1E3),console.log(" BLOCK",d,"closed for",c,"s = ",Math.round(1E4*c/3600/24)/1E4,"days")):"d"==h?console.log(" BLOCK",d,"delayed for",a[d][h],"pageviews"):"e"==h?console.log(" BLOCK",d,"show every",a[d][h],"pageviews"):"i"==h?(e=a[d][h],0<=e?console.log(" BLOCK",d,a[d][h],"impressions until limit"):(c=new Date,c=-e-Math.round(c.getTime()/1E3),console.log(" BLOCK",d,"max impressions, closed for", 3133c,"s =",Math.round(1E4*c/3600/24)/1E4,"days"))):"ipt"==h?console.log(" BLOCK",d,a[d][h],"impressions until limit per time period"):"it"==h?(c=new Date,c=a[d][h]-Math.round(c.getTime()/1E3),console.log(" BLOCK",d,"impressions limit expiration in",c,"s =",Math.round(1E4*c/3600/24)/1E4,"days")):"c"==h?(e=a[d][h],0<=e?console.log(" BLOCK",d,e,"clicks until limit"):(c=new Date,c=-e-Math.round(c.getTime()/1E3),console.log(" BLOCK",d,"max clicks, closed for",c,"s =",Math.round(1E4*c/3600/24)/1E4,"days"))): 3134"cpt"==h?console.log(" BLOCK",d,a[d][h],"clicks until limit per time period"):"ct"==h?(c=new Date,c=a[d][h]-Math.round(c.getTime()/1E3),console.log(" BLOCK",d,"clicks limit expiration in ",c,"s =",Math.round(1E4*c/3600/24)/1E4,"days")):"h"==h?console.log(" BLOCK",d,"hash",a[d][h]):console.log(" ?:",d,":",h,a[d][h]);console.log("")}}else console.log("AI COOKIE NOT PRESENT");return g};ai_get_cookie_text=function(a){var f=m(AiCookies.get("aiBLOCKS"));null==f&&(f={});var b="";f.hasOwnProperty("G")&& 3135(b="G["+JSON.stringify(f.G).replace(/"/g,"").replace("{","").replace("}","")+"] ");var c="";f.hasOwnProperty(a)&&(c=JSON.stringify(f[a]).replace(/"/g,"").replace("{","").replace("}",""));return b+c}}; 3136var ai_internal_tracking=1,ai_external_tracking=0,ai_external_tracking_category="Ad Inserter Pro",ai_external_tracking_action="[EVENT]",ai_external_tracking_label="[BLOCK_NUMBER] - [BLOCK_VERSION_NAME]",ai_external_tracking_username="",ai_track_pageviews=0,ai_advanced_click_detection=0,ai_viewport_widths=[980,768,0],ai_viewport_indexes=[1,2,3],ai_viewport_names_string="WyJEZXNrdG9wIiwiVGFibGV0IiwiUGhvbmUiXQ==",ai_data_id="455d8faba4",
3137ai_ajax_url="https://blogs.embarcadero.com/wp-admin/admin-ajax.php",ai_debug_tracking=0,ai_adb_attribute='ZGF0YS1kYXRhLW1hc2s='; 3138if("undefined"!==typeof ai_internal_tracking){ai_viewport_names=JSON.parse(b64d(ai_viewport_names_string));function H(g,l){return(new RegExp("^"+l.split("*").map(t=>t.replace(/([.*+?^=!:${}()|\[\]\/\\])/g,"\\$1")).join(".*")+"$")).test(g)}function K(g,l,t,y){if(y){const C=z=>{z.target&&z.target.matches(y)&&t(z)};g.addEventListener(l,C);return C}g.addEventListener(l,t);return t}installIframeTracker=function(g,l){"function"==typeof g&&(g={blurCallback:g});if(null===g||!1===g)ai_iframeTracker.untrack(l); 3139else if("object"==typeof g)ai_iframeTracker.track(l,g);else throw Error("Wrong handler type (must be an object, or null|false to untrack)");return this};var ai_mouseoverHander=function(g,l){l.data={handler:g};ai_iframeTracker.mouseoverListener(l)},ai_mouseoutHander=function(g,l){l.data={handler:g};ai_iframeTracker.mouseoutListener(l)};ai_iframeTracker={focusRetriever:null,focusRetrieved:!1,handlersList:[],isIE8AndOlder:!1,init:function(){try{9>navigator.userAgent.match(RegExp("(msie) ([\\w.]+)","i"))[2]&& 3140(this.isIE8AndOlder=!0)}catch(l){}window.focus();window.addEventListener("blur",l=>{ai_iframeTracker.windowLoseFocus(l)});var g=document.createElement("div");g.style="position:fixed; top:0; left:0; overflow:hidden;";g.innerHTML='<input style="position:absolute; left:-300px;" type="text" value="" id="focus_retriever" readonly="true" aria-hidden="true" /><label for="focus_retriever"> </label>';document.querySelector("body").append(g);this.focusRetriever=document.querySelector("#focus_retriever"); 3141this.focusRetrieved=!1;if(this.isIE8AndOlder){this.focusRetriever.blur(function(l){l.stopPropagation();l.preventDefault();ai_iframeTracker.windowLoseFocus(l)});document.querySelector("body").addEventListener("click",l=>{window.focus()});document.querySelector("form").addEventListener("click",l=>{l.stopPropagation()});try{K(document.querySelector("body"),"click",l=>{l.stopPropagation()},"form")}catch(l){console.log("[iframeTracker] error (exception: "+l.message+")")}}},track:function(g,l){l.target= 3142g;ai_iframeTracker.handlersList.push(l);g.addEventListener("mouseover",ai_mouseoverHander.bind(event,l),!1);g.addEventListener("mouseout",ai_mouseoutHander.bind(event,l),!1)},untrack:function(g){if("function"!=typeof Array.prototype.filter)console.log("Your browser doesn't support Array filter, untrack disabled");else{g.forEach((C,z)=>{C.removeEventListener("mouseover",ai_mouseoverHander,!1);C.removeEventListener("mouseout",ai_mouseoutHander,!1)});var l=function(C){return null===C?!1:!0},t;for(t in this.handlersList){for(var y in this.handlersList[t].target)-1!== 3143$.inArray(this.handlersList[t].target[y],g)&&(this.handlersList[t].target[y]=null);this.handlersList[t].target=this.handlersList[t].target.filter(l);0===this.handlersList[t].target.length&&(this.handlersList[t]=null)}this.handlersList=this.handlersList.filter(l)}},mouseoverListener:function(g){g.data.handler.over=!0;ai_iframeTracker.retrieveFocus();try{g.data.handler.overCallback(g.data.handler.target,g)}catch(l){}},mouseoutListener:function(g){g.data.handler.over=!1;ai_iframeTracker.retrieveFocus(); 3144try{g.data.handler.outCallback(g.data.handler.target,g)}catch(l){}},retrieveFocus:function(){if(document.activeElement&&"IFRAME"===document.activeElement.tagName){var g=!0;if(document.activeElement.hasAttribute("id")&&"undefined"!==typeof ai_ignore_iframe_ids&&ai_ignore_iframe_ids.constructor===Array){var l=document.activeElement.id;ai_ignore_iframe_ids.forEach(function(y){H(l,y)&&(g=!1)})}if(g&&document.activeElement.hasAttribute("class")&&"undefined"!==typeof ai_ignore_iframe_classes&&ai_ignore_iframe_classes.constructor=== 3145Array){var t=document.activeElement.className;ai_ignore_iframe_classes.forEach(function(y){H(t,y)&&(g=!1)})}g&&(ai_iframeTracker.focusRetriever.focus(),ai_iframeTracker.focusRetrieved=!0)}},windowLoseFocus:function(g){for(var l in this.handlersList)if(!0===this.handlersList[l].over)try{this.handlersList[l].blurCallback(g)}catch(t){}}};function I(g){"complete"===document.readyState||"loading"!==document.readyState&&!document.documentElement.doScroll?g():document.addEventListener("DOMContentLoaded", 3146g)}I(function(){ai_iframeTracker.init()});ai_tracking_finished=!1;I(function(){function g(b,m,n,e,d,a,c){b=b.replace("[EVENT]",m);b=b.replace("[BLOCK_NUMBER]",n);b=b.replace("[BLOCK_NAME]",e);b=b.replace("[BLOCK_COUNTER]",d);b=b.replace("[VERSION_NUMBER]",a);b=b.replace("[VERSION_NAME]",c);b=b.replace("[BLOCK_VERSION_NUMBER]",n+(0==a?"":" - "+a));b=b.replace("[BLOCK_VERSION_NAME]",e+(""==c?"":" - "+c));return b=b.replace("[WP_USERNAME]",ai_external_tracking_username)}function l(b,m,n,e,d,a,c){var f= 3147g(ai_external_tracking_category,b,m,n,e,d,a),q=g(ai_external_tracking_action,b,m,n,e,d,a),k=g(ai_external_tracking_label,b,m,n,e,d,a);if("function"!=typeof ai_external_tracking_event||0!=ai_external_tracking_event({event:b,block:m,block_name:n,block_counter:e,version:d,version_name:a},f,q,k,c))"function"==typeof window.ga&&(b="send","string"==typeof ai_ga_tracker_name?b=ai_ga_tracker_name+"."+b:(m=ga.getAll(),0!=m.length&&(m=m[0].get("name"),"t0"!=m&&(b=m+"."+b))),ga(b,"event",{eventCategory:f,eventAction:q, 3148eventLabel:k,nonInteraction:c})),"function"==typeof window.gtag&>ag("event","impression",{event_category:f,event_action:q,event_label:k,non_interaction:c}),"function"==typeof window.__gaTracker&&__gaTracker("send","event",{eventCategory:f,eventAction:q,eventLabel:k,nonInteraction:c}),"object"==typeof window.dataLayer&&window.dataLayer.push({event:"tracking",eventCategory:f,eventAction:q,eventLabel:k}
3148),"object"==typeof _gaq&&_gaq.push(["_trackEvent",f,q,k,void 0,c]),"object"==typeof _paq&&_paq.push(["trackEvent", 3149f,q,k])}function t(b,m){var n=b[0],e=b[1];if(Number.isInteger(e))if("undefined"==typeof ai_check_data&&"undefined"==typeof ai_check_data_timeout)ai_check_data_timeout=!0,setTimeout(function(){t(b,m)},2500);else{ai_cookie=ai_load_cookie();for(var d in ai_cookie)if(parseInt(n)==parseInt(d))for(var a in ai_cookie[d])if("c"==a){var c=ai_cookie[d][a];if(0<c)if(ai_set_cookie(d,"c",c-1),1==c){c=document.querySelector('span[data-ai-block="'+n+'"]').dataset.aiCfpTime;var f=new Date;f=Math.round(f.getTime()/ 31501E3);var q=f+604800;ai_set_cookie(d,"c",-q);setTimeout(function(){document.querySelectorAll('span[data-ai-block="'+n+'"]').forEach((p,h)=>{(p=p.closest("div[data-ai]"))&&p.remove()})},50)}else ai_set_cookie(d,"c",c-1)}else"cpt"==a&&(c=ai_cookie[d][a],0<c?(ai_set_cookie(d,"cpt",c-1),1==c&&(c=document.querySelector('span[data-ai-block="'+n+'"]').dataset.aiCfpTime,f=new Date,f=Math.round(f.getTime()/1E3),q=ai_cookie[d].ct,ai_set_cookie(d,"x",q),setTimeout(function(){document.querySelectorAll('span[data-ai-block="'+ 3151n+'"]').forEach((p,h)=>{(p=p.closest("div[data-ai]"))&&p.remove()})},75),"undefined"!=typeof c&&(q=f+86400*c,ai_set_cookie(n,"x",q),document.querySelectorAll("span.ai-cfp").forEach((p,h)=>{h=p.dataset.aiBlock;setTimeout(function(){var r=p.closest("div[data-ai]");r&&r.remove()},50);ai_set_cookie(h,"x",q)})))):ai_check_data.hasOwnProperty(d)&&ai_check_data[d].hasOwnProperty("cpt")&&ai_check_data[d].hasOwnProperty("ct")?ai_cookie.hasOwnProperty(d)&&ai_cookie[d].hasOwnProperty("ct")&&(f=new Date,c=ai_cookie[d].ct- 3152Math.round(f.getTime()/1E3),0>=c&&(f=Math.round(f.getTime()/1E3),ai_set_cookie(d,"cpt",ai_check_data[d].cpt-1),ai_set_cookie(d,"ct",Math.round(f+86400*ai_check_data[d].ct)))):(ai_cookie.hasOwnProperty(d)&&ai_cookie[d].hasOwnProperty("cpt")&&ai_set_cookie(d,"cpt",""),ai_cookie.hasOwnProperty(d)&&ai_cookie[d].hasOwnProperty("ct")&&ai_set_cookie(d,"ct","")));ai_cookie.hasOwnProperty("G")&&ai_cookie.G.hasOwnProperty("cpt")&&(c=ai_cookie.G.cpt,0<c?(ai_set_cookie("G","cpt",c-1),1==c&&(c=document.querySelector('span[data-ai-block="'+ 3153n+'"]').dataset.aiCfpTime,f=new Date,f=Math.round(f.getTime()/1E3),q=ai_cookie.G.ct,ai_set_cookie(n,"x",q),setTimeout(function(){document.querySelectorAll('span[data-ai-block="'+n+'"]').forEach((p,h)=>{(p=p.closest("div[data-ai]"))&&p.remove()})},75),"undefined"!=typeof c&&(q=f+86400*c,ai_set_cookie(n,"x",q),document.querySelectorAll("span.ai-cfp").forEach((p,h)=>{h=p.dataset.aiBlock;setTimeout(function(){p.closest("div[data-ai]").remove()},50);ai_set_cookie(h,"x",q)})))):ai_check_data.hasOwnProperty("G")&& 3154ai_check_data.G.hasOwnProperty("cpt")&&ai_check_data.G.hasOwnProperty("ct")?ai_cookie.hasOwnProperty("G")&&ai_cookie.G.hasOwnProperty("ct")&&(f=new Date,c=ai_cookie.G.ct-Math.round(f.getTime()/1E3),0>=c&&(f=Math.round(f.getTime()/1E3),ai_set_cookie("G","cpt",ai_check_data.G.cpt-1),ai_set_cookie("G","ct",Math.round(f+86400*ai_check_data.G.ct)))):(ai_cookie.hasOwnProperty("G")&&ai_cookie.G.hasOwnProperty("cpt")&&ai_set_cookie("G","cpt",""),ai_cookie.hasOwnProperty("G")&&ai_cookie.G.hasOwnProperty("ct")&& 3155ai_set_cookie("G","ct","")));if(ai_internal_tracking&&"undefined"===typeof ai_internal_tracking_no_clicks){d={action:"ai_ajax",ai_check:ai_data_id,click:n,version:e,type:m};var k=[],u;for(u in d)a=encodeURIComponent(u),c=encodeURIComponent(d[u]),k.push(a+"="+c);k=k.join("&");(async function(){return await (await fetch(ai_ajax_url,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded; charset=UTF-8"},body:k})).text()})().then(p=>{p=p.trim();""!=p&&(p=JSON.parse(p),"undefined"!= 3156typeof p["#"]&&p["#"]==n&&(ai_cookie=ai_load_cookie(),p=Math.round((new Date).getTime()/1E3)+43200,ai_cookie.hasOwnProperty(n)&&ai_cookie[n].hasOwnProperty("x")||ai_set_cookie(n,"x",p),setTimeout(function(){document.querySelectorAll('span[data-ai-block="'+n+'"]').forEach((h,r)=>{(h=h.closest("div[data-ai]"))&&h.remove()})},50)))})}if(ai_external_tracking&&"undefined"===typeof ai_external_tracking_no_clicks){var w=b[2],v=b[3];l("click",n,w,b[4],e,v,!1)}"function"==typeof ai_click_action&&ai_click_action(n, 3157w,e,v)}}function y(){ai_check_data={};if("undefined"==typeof ai_iframe){ai_cookie=ai_load_cookie();document.querySelectorAll(".ai-check-block").forEach((e,d)=>
3157{var a=e.dataset.aiBlock,c=e.dataset.aiDelayPv,f=e.dataset.aiEveryPv,q=e.dataset.aiHash,k=e.dataset.aiMaxImp,u=e.dataset.aiLimitImpPerTime,w=e.dataset.aiLimitImpTime,v=e.dataset.aiMaxClicks,p=e.dataset.aiLimitClicksPerTime,h=e.dataset.aiLimitClicksTime;d=e.dataset.aiGlobalLimitClicksPerTime;e=e.dataset.aiGlobalLimitClicksTime;if("undefined"!= 3158typeof c&&0<c){ai_check_data.hasOwnProperty(a)||(ai_check_data[a]={});ai_check_data[a].d=c;var r="";ai_cookie.hasOwnProperty(a)&&ai_cookie[a].hasOwnProperty("d")&&(r=ai_cookie[a].d);""===r&&ai_set_cookie(a,"d",c-1)}"undefined"!=typeof f&&2<=f&&(ai_check_data.hasOwnProperty(a)||(ai_check_data[a]={}),"undefined"!==typeof ai_delay_showing_pageviews||ai_cookie.hasOwnProperty(a)&&ai_cookie[a].hasOwnProperty("d")||(ai_cookie.hasOwnProperty(a)||(ai_cookie[a]={}),ai_cookie[a].d=0),ai_check_data[a].e=f);if("undefined"!= 3159typeof k&&0<k){if(ai_check_data.hasOwnProperty(a)||(ai_check_data[a]={}),ai_check_data[a].i=k,ai_check_data[a].h=q,f=c="",ai_cookie.hasOwnProperty(a)&&(ai_cookie[a].hasOwnProperty("i")&&(f=ai_cookie[a].i),ai_cookie[a].hasOwnProperty("h")&&(c=ai_cookie[a].h)),""===f||c!=q)ai_set_cookie(a,"i",k),ai_set_cookie(a,"h",q)}else ai_cookie.hasOwnProperty(a)&&ai_cookie[a].hasOwnProperty("i")&&(ai_set_cookie(a,"i",""),ai_cookie[a].hasOwnProperty("c")||ai_cookie[a].hasOwnProperty("x")||ai_set_cookie(a,"h","")); 3160if("undefined"!=typeof u&&0<u&&"undefined"!=typeof w&&0<w){ai_check_data.hasOwnProperty(a)||(ai_check_data[a]={});ai_check_data[a].ipt=u;ai_check_data[a].it=w;k=c="";ai_cookie.hasOwnProperty(a)&&(ai_cookie[a].hasOwnProperty("ipt")&&(c=ai_cookie[a].ipt),ai_cookie[a].hasOwnProperty("it")&&(k=ai_cookie[a].it));if(""===c||""===k)ai_set_cookie(a,"ipt",u),c=new Date,c=Math.round(c.getTime()/1E3),ai_set_cookie(a,"it",Math.round(c+86400*w));0<k&&(c=new Date,c=Math.round(c.getTime()/1E3),k<=c&&(ai_set_cookie(a, 3161"ipt",u),ai_set_cookie(a,"it",Math.round(c+86400*w))))}else ai_cookie.hasOwnProperty(a)&&(ai_cookie[a].hasOwnProperty("ipt")&&ai_set_cookie(a,"ipt",""),ai_cookie[a].hasOwnProperty("it")&&ai_set_cookie(a,"it",""));if("undefined"!=typeof v&&0<v){if(ai_check_data.hasOwnProperty(a)||(ai_check_data[a]={}),ai_check_data[a].c=v,ai_check_data[a].h=q,u=c="",ai_cookie.hasOwnProperty(a)&&(ai_cookie[a].hasOwnProperty("c")&&(u=ai_cookie[a].c),ai_cookie[a].hasOwnProperty("h")&&(c=ai_cookie[a].h)),""===u||c!=q)ai_set_cookie(a, 3162"c",v),ai_set_cookie(a,"h",q)}else ai_cookie.hasOwnProperty(a)&&ai_cookie[a].hasOwnProperty("c")&&(ai_set_cookie(a,"c",""),ai_cookie[a].hasOwnProperty("i")||ai_cookie[a].hasOwnProperty("x")||ai_set_cookie(a,"h",""));if("undefined"!=typeof p&&0<p&&"undefined"!=typeof h&&0<h){ai_check_data.hasOwnProperty(a)||(ai_check_data[a]={});ai_check_data[a].cpt=p;ai_check_data[a].ct=h;q=v="";ai_cookie.hasOwnProperty(a)&&(ai_cookie[a].hasOwnProperty("cpt")&&(v=ai_cookie[a].cpt),ai_cookie[a].hasOwnProperty("ct")&& 3163(q=ai_cookie[a].ct));if(""===v||""===q)ai_set_cookie(a,"cpt",p),c=new Date,c=Math.round(c.getTime()/1E3),ai_set_cookie(a,"ct",Math.round(c+86400*h));0<q&&(c=new Date,c=Math.round(c.getTime()/1E3),q<=c&&(ai_set_cookie(a,"cpt",p),ai_set_cookie(a,"ct",Math.round(c+86400*h))))}else ai_cookie.hasOwnProperty(a)&&(ai_cookie[a].hasOwnProperty("cpt")&&ai_set_cookie(a,"cpt",""),ai_cookie[a].hasOwnProperty("ct")&&ai_set_cookie(a,"ct",""));if("undefined"!=typeof d&&0<d&&"undefined"!=typeof e&&0<e){ai_check_data.hasOwnProperty("G")|| 3164(ai_check_data.G={});ai_check_data.G.cpt=d;ai_check_data.G.ct=e;a=p="";ai_cookie.hasOwnProperty("G")&&(ai_cookie.G.hasOwnProperty("cpt")&&(p=ai_cookie.G.cpt),ai_cookie.G.hasOwnProperty("ct")&&(a=ai_cookie.G.ct));if(""===p||""===a)ai_set_cookie("G","cpt",d),c=new Date,c=Math.round(c.getTime()/1E3),ai_set_cookie("G","ct",Math.round(c+86400*e));0<a&&(c=new Date,c=Math.round(c.getTime()/1E3),a<=c&&(ai_set_cookie("G","cpt",d),ai_set_cookie("G","ct",Math.round(c+86400*e))))}else ai_cookie.hasOwnProperty("G")&& 3165(ai_cookie.G.hasOwnProperty("cpt")&&ai_set_cookie("G","cpt",""),ai_cookie.G.hasOwnProperty("ct")&&ai_set_cookie("G","ct",""))});document.querySelectorAll(".ai-check-block").forEach((e,d)=>{e.classList.remove("ai-check-block")});for(var b in ai_cookie)for(var m in ai_cookie[b])if("d"==m){var n=ai_cookie[b][m];0<n?ai_set_cookie(b,"d",n-1):ai_check_data.hasOwnProperty(b)&&ai_check_data[b].hasOwnProperty("e")?ai_set_cookie(b,"d",ai_check_data[b].e-1):ai_check_data.hasOwnProperty(b)&&ai_check_data[b].hasOwnProperty("d")|| 3166ai_set_cookie(b,"d","")}}}function C(){if(ai_track_pageviews){var b=document.documentElement.clientWidth,m=window.innerWidth,n=b<m?m:b,e=0;ai_viewport_widths.every((f,q)=>n>=f?(e=ai_viewport_indexes[q],!1):!0);b=document.querySelector(b64d("Ym9keQ==")).getAttribute(b64d(ai_adb_attribute));if("string"===typeof b)var d=b==b64d("bWFzaw==");"string"===typeof b&&"boolean"===typeof d&&d&&(ai_external_tracking&&l("ad blocking",0,ai_viewport_names[e-1
3166],0,0,"",!0),e|=128);z=[0,e]}y();ai_process_impressions(); 3167if(0!=z.length&&ai_internal_tracking){d={action:"ai_ajax",ai_check:ai_data_id};var a=[],c;for(c in d)b=encodeURIComponent(c),m=encodeURIComponent(d[c]),a.push(b+"="+m);b=encodeURIComponent("views[]");m=encodeURIComponent(0);a.push(b+"="+m);b=encodeURIComponent("versions[]");m=encodeURIComponent(e);a.push(b+"="+m);a=a.join("&");(async function(){return await (await fetch(ai_ajax_url,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded; charset=UTF-8"},body:a})).text()})().then(f=> 3168{})}ai_tracking_finished=!0}ai_debug_tracking&&(ai_ajax_url+="?ai-debug-tracking=1");Number.isInteger=Number.isInteger||function(b){return"number"===typeof b&&isFinite(b)&&Math.floor(b)===b};ai_install_standard_click_trackers=function(b){"undefined"==typeof b&&(b=document.querySelector("body"));b=b.querySelectorAll("div.ai-track[data-ai]");var m=[];b.forEach((e,d)=>{if(e.offsetWidth||e.offsetHeight||e.getClientRects().length)e.querySelectorAll("div.ai-lazy, div.ai-wait-for-interaction, div.ai-manual, div.ai-list-manual, div.ai-manual-auto, div.ai-delayed").length|| 3169m.push(e)});var n=[];m.forEach((e,d)=>{e.classList.remove("ai-track");n.push.apply(n,e.querySelectorAll("a"))});b=n;0!=b.length&&(ai_advanced_click_detection?b.forEach((e,d)=>{e.addEventListener("click",()=>{for(var a=e.closest("div[data-ai]");null!==a&&a.hasAttribute("data-ai");){var c=JSON.parse(b64d(a.getAttribute("data-ai")));"undefined"!==typeof c&&c.constructor===Array&&Number.isInteger(c[1])&&!a.classList.contains("clicked")&&(a.classList.add("clicked"),t(c,"a.click"));a=a.parentElement.closest("div[data-ai]")}})}): 3170b.forEach((e,d)=>{e.addEventListener("click",()=>{for(var a=e.closest("div[data-ai]");null!==a&&a.hasAttribute("data-ai");){var c=JSON.parse(b64d(a.getAttribute("data-ai")));"undefined"!==typeof c&&c.constructor===Array&&Number.isInteger(c[1])&&(t(c,"a.click"),clicked=!0);a=a.parentElement.closest("div[data-ai]")}})}))};ai_install_click_trackers=function(b){"undefined"==typeof b&&(b=document.querySelector("body"));if(ai_advanced_click_detection){var m=b.querySelectorAll("div.ai-track[data-ai], div.ai-rotate[data-info] div.ai-track[data-ai]"), 3171n=[];m.forEach((d,a)=>{(d.offsetWidth||d.offsetHeight||d.getClientRects().length)&&n.push(d)});b.hasAttribute("data-ai")&&b.classList.contains("ai-track")&&(b.offsetWidth||b.offsetHeight||b.getClientRects().length)&&n.push(b);var e=[];n.forEach((d,a)=>{d.querySelectorAll("div.ai-lazy, div.ai-wait-for-interaction, div.ai-manual, div.ai-list-manual, div.ai-manual-auto, div.ai-delayed").length||e.push(d)});m=e;0!=m.length&&m.forEach((d,a)=>{installIframeTracker({blurCallback:function(){if(null!=this.ai_data&& 3172null!=wrapper&&!wrapper.classList.contains("clicked")){wrapper.classList.add("clicked");t(this.ai_data,"blurCallback");for(var c=wrapper.querySelector("div[data-ai]");null!=c&&(c.offsetWidth||c.offsetHeight||c.getClientRects().length)&&c.hasAttribute("data-ai");){var f=JSON.parse(b64d(c.getAttribute("data-ai")));"undefined"!==typeof f&&f.constructor===Array&&Number.isInteger(f[1])&&t(f,"blurCallback INNER");c=c.querySelector("div[data-ai]")}}},overCallback:function(c){c=c.closest("div[data-ai]"); 3173if(c.hasAttribute("data-ai")){var f=JSON.parse(b64d(c.getAttribute("data-ai")));"undefined"!==typeof f&&f.constructor===Array&&Number.isInteger(f[1])?(wrapper=c,this.ai_data=f):(null!=wrapper&&wrapper.classList.remove("clicked"),this.ai_data=wrapper=null)}},outCallback:function(c){null!=wrapper&&wrapper.classList.remove("clicked");this.ai_data=wrapper=null},focusCallback:function(c){if(null!=this.ai_data&&null!=wrapper&&!wrapper.classList.contains("clicked"))for(wrapper.classList.add("clicked"),t(this.ai_data, 3174"focusCallback"),c=wrapper.querySelector("div[data-ai]");null!=c&&(c.offsetWidth||c.offsetHeight||c.getClientRects().length)&&c.hasAttribute("data-ai");){var f=JSON.parse(b64d(c.getAttribute("data-ai")));"undefined"!==typeof f&&f.constructor===Array&&Number.isInteger(f[1])&&t(f,"focusCallback INNER");c=c.querySelector("div[data-ai]")}},wrapper:null,ai_data:null,block:null,version:null},d)})}ai_install_standard_click_trackers(b)};var z=[];ai_process_impressions=function(b){"undefined"==typeof b&&(b= 3175document.querySelector("body"));var m=[],n=[],e=[],d=[],a=[],c=[];0!=z.length&&(m.push(z[0]),n.push(z[1]),e.push("Pageviews"),a.push(0),d.push(""));var f=b.querySelectorAll("div.ai-track[data-ai], div.ai-rotate[data-info] div.ai-track[data-ai]"),q=[];f.forEach((h,r)=>{(h.offsetWidth||h.offsetHeight||h.getClientRects().length)&&!h.classList.contains("ai-no-pageview")&&q.push(h)});null!==b&&b.hasAttribute("data-ai")&&b.classList.contains("ai-track")&&!b.classList.contains("ai-no-pageview")&&(b.offsetWidth|| 3176b.offsetHeight||b.getClientRects().length)&&q.push(b);f=q;0!=f.length&&f.forEach((h,r)=>{if(h.hasAttribute("data-ai")){r="";for(var x=1;9>=x;x++)if(h.hasAttribute("data-ai-"+x))r=h.getAttribute("data-ai-"+x);else break;""!=r&&h.setAttribute("data-ai",r);r=JSON.parse(b64d(h.getAttribute("data-ai")));if("undefined"!==typeof r&&r.constructor===Array){var A=0;x=h.querySelectorAll("div.ai-rotate[data-info]");1==x.length&&(A=JSON.parse(b64d(x[0].dataset.info))[1],c=[],h.querySelectorAll("div.ai-rotate .ai-rotate-option[data-index]").forEach((D, 3177J)=>{D=parseInt(D.dataset.index);c.push(D);D>A&&(A=D)}));if(Number.isInteger(r[0])&&0!=r[0]&&Number.isInteger(r[1])){x=0;var F=h.classList.contains("ai-no-tracking"),B=document.querySelector(b64d("Ym9keQ==")).getAttribute(b64d(ai_adb_attribute));if("string"===typeof B)var E=B==b64d("bWFzaw==");if("string"===typeof B&&"boolean"===typeof E){var G=h.offsetHeight;B=h.querySelectorAll(".ai-attributes");B.length&&B.forEach((D,J)=>{G>=h.offsetHeight&&(G-=h.offsetHeight)});B=h.querySelectorAll(".ai-code"); 3178G=0;B.length&&B.forEach((D,J)=>{G+=D.offsetHeight});E&&0===G&&(x=128)}0!=h.querySelectorAll("div.ai-lazy, div.ai-wait-for-interaction, div.ai-manual, div.ai-list-manual, div.ai-manual-auto, div.ai-delayed").length&&(F=!0);if(!F)if(0==A)m.push(r[0]),n.push(r[1]|x),e.push(r[2]),d.push(r[3]),a.push(r[4]);else{for(E=1;E<=A;E++)c.includes(E)&&(m.push(r[0]),n.push(E|x),e.push(r[2]),d.push(r[3]),a.push(r[4]));h.classList.add("ai-impression")}}}}});ai_cookie=ai_load_cookie();for(var k in ai_cookie)if(m.includes(parseInt(k)))for(var u in ai_cookie[k])"i"== 3179u?(b=ai_cookie[k][u],0<b&&(1==b?(b=new Date,b=Math.round(b.getTime()/1E3)+604800,ai_set_cookie(k,"i",-b)):ai_set_cookie(k,"i",b-1))):"ipt"==u&&(b=ai_cookie[k][u],0<b?ai_set_cookie(k,"ipt",b-1):ai_check_data.hasOwnProperty(k)&&ai_check_data[k].hasOwnProperty("ipt")&&ai_check_data[k].hasOwnProperty("it")?ai_cookie.hasOwnProperty(k)&&ai_cookie[k].hasOwnProperty("it")&&(b=new Date,0>=ai_cookie[k].it-Math.round(b.getTime()/1E3)&&(b=Math.round(b.getTime()/1E3),ai_set_cookie(k,"ipt",ai_check_data[k].ipt), 3180ai_set_cookie(k,"it",Math.round(b+86400*ai_check_data[k].it)))):(ai_cookie.hasOwnProperty(k)&&ai_cookie[k].hasOwnProperty("ipt")&&ai_set_cookie(k,"ipt",""),ai_cookie.hasOwnProperty(k)&&ai_cookie[k].hasOwnProperty("it")&&ai_set_cookie(k,"it","")));if(m.length){if(ai_internal_tracking&&"undefined"===typeof ai_internal_tracking_no_impressions){z=[];k={action:"ai_ajax",ai_check:ai_data_id};var w=[],v;for(v in k)u=encodeURIComponent(v),b=encodeURIComponent(k[v]),w.push(u+"="+b);for(var p in m)u=encodeURIComponent("views[]"), 3181b=encodeURIComponent(m[p]),w.push(u+"="+b);for(p in n)u=encodeURIComponent("versions[]"),b=encodeURIComponent(n[p]),w.push(u+"="+b);w=w.join("&");(async function(){return await (await fetch(ai_ajax_url,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded; charset=UTF-8"},body:w})).text()})().then(h=>{h=h.trim();if(""!=h&&(h=JSON.parse(h),"undefined"!=typeof h["#"])){ai_cookie=ai_load_cookie();var r=Math.round((new Date).getTime()/1E3)+43200,x=[],A;
3181for(A in h["#"])ai_cookie.hasOwnProperty(h["#"][A])&& 3182ai_cookie[h["#"][A]].hasOwnProperty("x")||ai_set_cookie(h["#"][A],"x",r);setTimeout(function(){for(p=0;p<x.length;++p)document.querySelectorAll('span[data-ai-block="'+x[p]+'"]').forEach((F,B)=>{(F=F.closest("div[data-ai]"))&&F.remove()})},50)}})}if(ai_external_tracking&&"undefined"===typeof ai_external_tracking_no_impressions)for(v=0;v<m.length;v++)0!=m[v]&&l("impression",m[v],e[v],a[v],n[v],d[v],!0)}};window.addEventListener("load",b=>{"undefined"==typeof ai_delay_tracking&&(ai_delay_tracking=0); 3183setTimeout(C,ai_delay_tracking+1400);setTimeout(ai_install_click_trackers,ai_delay_tracking+1500)})})}; 3184 3185ai_js_code = true; 3186</script>
vendor: 142 bytes, line 3186
3186<script src="/cdn-cgi/scripts/7d0fa10a/cloudflare-static/rocket-loader.min.js" data-cf-settings="c64e5de2d38c181e1d7470af-|49" defer></script>
3186</body> 3187</html> 3188 3189<!-- 3190Performance optimized by W3 Total Cache. Learn more: https://www.boldgrid.com/w3-total-cache/?utm_source=w3tc&utm_medium=footer_comment&utm_campaign=free_plugin 3191 3192Object Caching 98/310 objects using APC 3193Page Caching using APC 3194Database Caching 9/69 queries in 1.812 seconds using APC 3195 3196Served from: blogs.embarcadero.com @ 2026-09-24 02:26:52 by W3 Total Cache 3197-->
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.