1<!doctype html> 2<html lang="pt"> 3<head> 4<meta charset="utf-8"> 5 6<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 7 8<title>3DM</title>
9<script type="text/javascript"> 10 window.bubble_session_uid = '1791292454737x294213718115647200'; 11</script>
vendor: 1 bytes, line 11
11
12<script type="text/javascript"> 13 window.headers_source_maps = [["plugin_main_headers_1497473108162x748255442121523200",215,216],["plugin_main_headers_1531310660066x700901076712292400",217,221],["plugin_main_headers_1580238841425x582072028873097200",222,253],["plugin_main_headers_1621953922170x687987145409298400",254,255],["plugin_page_headers_AAH",256,258],["plugin_page_headers_AAD",259,261],["custom_page_header",263,280]] 14</script>
vendor: 1 bytes, line 14
14
15<script type="text/javascript"> 16function make_proxy(target, name) { 17 return new Proxy(target, { 18 get: function(target, prop) { 19 if (prop in target) { 20 return target[prop]; 21 } 22 throw new Error('The variable ' + name + ' is not fully initialized yet'); 23 } 24 }); 25} 26window.appquery = make_proxy({ 27 app_version: function() { return "live"; }, 28 last_change: function() { return "61740561145";}, 29}, 'appquery'); 30window.Lib = new Proxy(function() {}, { 31 get: function(target, prop) { 32 if (prop === 'is_skeleton') { 33 return true; 34 } 35 throw new Error('The variable ' + Lib + ' is not fully initialized yet'); 36 }, 37 apply: function() { 38 return make_proxy({ 39 current_user: function() { 40 return make_proxy({ id: "1791292454737x294213718115647200" }, 'Lib().current_user'); 41 } 42 }, 'Lib()'); 43 } 44}); 45</script>
vendor: 1 bytes, line 45
45
46<script type="text/javascript"> 47function load_error_function (event) { 48 return window.load_error_log.push({ msg: event.message, error_url: event.filename, line: event.lineno, col: event.colno }) 49} 50window.load_error_log = []; 51window.addEventListener('error', load_error_function); 52window.disableLoadErrorFunction = function () { 53 window.removeEventListener('error', load_error_function); 54} 55</script>
55 56<meta name="referrer" content="origin">
57<script type="text/javascript"> 58if (!window._bubble_page_load_data) { 59 window._bubble_page_load_data = {} 60} 61if (!window._bubble_page_load_data.js_execution_timings) { 62 window._bubble_page_load_data.js_execution_timings = {} 63} 64window._bubble_page_load_data.js_execution_timings['pre_early_js'] = Date.now(); 65</script>
65<script type="text/javascript" crossorigin="anonymous" charset="UTF-8" src="/package/early_js/05ae9fe83d6b755291132aab9d325d70918aafd336da1bd91a41a31c8b25734b/early.js"></script>
65<script type="text/javascript"> 66if (!window._bubble_page_load_data) { 67 window._bubble_page_load_data = {} 68} 69if (!window._bubble_page_load_data.js_execution_timings) { 70 window._bubble_page_load_data.js_execution_timings = {} 71} 72window._bubble_page_load_data.js_execution_timings['post_early_js'] = Date.now(); 73</script>
vendor: 1 bytes, line 73
73
74<script type="text/javascript">(function () { 75 function onWebFontFinish () { 76 window.google_web_fonts_active = true; 77if (window.google_web_fonts_active_cb) { 78 window.google_web_fonts_active_cb(); 79} 80 (function fontface_loaded_snippet (font) { 81 if (window.fontface_loaded == null) { 82 window.fontface_loaded = {} 83 } 84 if (font != null) { 85 window.fontface_loaded[font] = true 86 } else { 87 window.all_fontface_loaded = true 88 } 89 if (window.fontface_webfonts_loaded_cb) { 90 return window.fontface_webfonts_loaded_cb(font) 91 } 92})() 93 } 94 const WebFontConfig = {'google': { families: ["Open Sans:regular","Open Sans:regular","Open Sans:600","Open Sans:700","Open Sans:700","Poppins:regular","Poppins:500","Poppins:600","Roboto:300","Roboto:regular","Roboto:500","Roboto:600","Roboto:700"] }, 95 active: function() { 96 onWebFontFinish() 97 }, 98 inactive: function() { 99 console.log('Failed to load all the fonts'); 100 onWebFontFinish() 101 }, 102 fontinactive: function(family_name, fvd) { 103 console.log('fontinactive being called for ' + family_name + ', Google says the fonts didnt render'); 104 onWebFontFinish() 105 } 106 } 107 window.WebFont.load(WebFontConfig); 108})();</script>
vendor: 1 bytes, line 108
108
109<script> 110(function initialize_data() { 111const xhr = new XMLHttpRequest(); 112xhr.onreadystatechange = function() { 113 if (this.readyState === 4 && this.status === 200) { 114 const data = JSON.parse(this.responseText); 115 116 function init_data() { 117 data.forEach(function(d) { 118 Lib().db_instance().initialize_data(d.id, d.data, d.type, d.version); 119 }) 120 } 121 122 if (window.Lib && window.Lib.is_skeleton == null) { 123 init_data(); 124 } else { 125 window.Lib_post_load = init_data; 126 } 127 } 128}; 129xhr.open("GET", "https://3dm.com.br/api/1.1/init/data?location=" + encodeURIComponent(window.location.href), true); 130xhr.send(); 131})(); 132</script>
vendor: 1 bytes, line 132
132
133<script type="text/javascript">window.gm_key = "AIzaSyA6LOioK8cP6XXOTIqfHslEZ2IJwMC5Y9o";</script>
vendor: 1 bytes, line 133
133
134<script type="text/javascript">window.glrl_key_status = false;</script>
vendor: 1 bytes, line 134
134
135<script type="text/javascript">window.bubble_page_load_id = "1791292454829x444";</script>
vendor: 1 bytes, line 135
135
136<script type="text/javascript">window.bubble_plp_token = "1791292455078.8gFEDmkbecBNcEwAU8ehPpq5ptT8jQZ8FcWyRDXZNSo=";</script>
vendor: 1 bytes, line 136
136
137<script type="text/javascript">window.bubble_is_leanjs = false;</script>
vendor: 1 bytes, line 137
137
138<script type="text/javascript">window.bubble_shim_modules = false;</script>
138 139<link rel="icon" type="image/png" href="https://bb1e58428ca77e4caefb7c3f3260add8.cdn.bubble.io/cdn-cgi/image/w=128,h=,f=auto,dpr=1,fit=contain/f1707154264303x646936886352904300/favicon3.png" /> 140<meta name="fragment" content="!"> 141<meta name="description" content="Na 3DM você encontra cursos online para estudantes e profissionais da construção civil: arquitetos, designers, engenheiros e profissionais de Archviz. Somos uma empresa associada à ABED e oferecemos treinamentos para SketchUp, Enscape, V-Ray, Lumion, 3ds Max, Revit, Planta Humanizada, AutoCAD, Twinmotion, Unreal, Blender, Panoramas 360º, Realidade Virtual e Pós-produção com Photoshop. Mas além de treinamentos premium, você também encontrará bibliotecas de Texturas, Blocos para Planta Humanizada, Blocos para Lumion, Blocos para V-Ray e Materiais Realistas."> 142<link rel="canonical" href="https://3dm.com.br/"/> 143<meta property="og:title" content="3DM Maquetes Eletrônicas - Renderize seus próprios projetos" /> 144<meta name="twitter:title" content="3DM Maquetes Eletrônicas - Renderize seus próprios projetos" /> 145<meta property="og:site_name" content="Curso de Matemática CecÃlia Menon" /> 146<meta name="twitter:site_name" content="Curso de Matemática CecÃlia Menon" /> 147<meta property="og:description" content="Na 3DM você encontra cursos online para estudantes e profissionais da construção civil: arquitetos, designers, engenheiros e profissionais de Archviz. Somos uma empresa associada à ABED e oferecemos treinamentos para SketchUp, Enscape, V-Ray, Lumion, 3ds Max, Revit, Planta Humanizada, AutoCAD, Twinmotion, Unreal, Blender, Panoramas 360º, Realidade Virtual e Pós-produção com Photoshop. Mas além de treinamentos premium, você também encontrará bibliotecas de Texturas, Blocos para Planta Humanizada, Blocos para Lumion, Blocos para V-Ray e Materiais Realistas." /> 148<meta name="twitter:description" content="Na 3DM você encontra cursos online para estudantes e profissionais da construção civil: arquitetos, designers, engenheiros e profissionais de Archviz. Somos uma empresa associada à ABED e oferecemos treinamentos para SketchUp, Enscape, V-Ray, Lumion, 3ds Max, Revit, Planta Humanizada, AutoCAD, Twinmotion, Unreal, Blender, Panoramas 360º, Realidade Virtual e Pós-produção com Photoshop. Mas além de treinamentos premium, você também encontrará bibliotecas de Texturas, Blocos para Planta Humanizada, Blocos para Lumion, Blocos para V-Ray e Materiais Realistas." /> 149<link rel="image_src" href="https://bb1e58428ca77e4caefb7c3f3260add8.cdn.bubble.io/cdn-cgi/image/w=,h=,f=auto,dpr=1,fit=contain/f1718672362001x419988111491320200/miniatura_00.jpg" /> 150<meta property="og:image" content="https://bb1e58428ca77e4caefb7c3f3260add8.cdn.bubble.io/cdn-cgi/image/w=,h=,f=auto,dpr=1,fit=contain/f1718672362001x419988111491320200/miniatura_00.jpg" /> 151<meta name="twitter:image:src" content="https://bb1e58428ca77e4caefb7c3f3260add8.cdn.bubble.io/cdn-cgi/image/w=,h=,f=auto,dpr=1,fit=contain/f1718672362001x419988111491320200/miniatura_00.jpg" /> 152<meta property="og:url" content="https://3dm.com.br/" /> 153<meta property="og:type" content="website" /> 154<meta name="twitter:card" content="summary_large_image" /> 155<meta name="viewport" content="width=device-width,initial-scale=1.0">
156<script type="text/javascript">window._p = '{"id":"app_starter_2023","no_branding":true,"import_export_csv":true,"custom_domain":true}';</script>
vendor: 1 bytes, line 156
156
157<script type="text/javascript">window.bubble_page_name = "index";</script>
vendor: 1 bytes, line 157
157
158<script type="text/javascript">window.__bubble_module_mode = false;</script>
158 159<link type="text/css" href="/package/run_css/b5a994eef6d4503143609ad35feaa5c990718933138175ca538b32121fdc2fbe/lms-82958/live/index/xfalse/xfalse/run.css" rel="stylesheet">
160<script type="text/javascript"> 161if (!window._bubble_page_load_data) { 162 window._bubble_page_load_data = {} 163} 164if (!window._bubble_page_load_data.js_execution_timings) { 165 window._bubble_page_load_data.js_execution_timings = {} 166} 167window._bubble_page_load_data.js_execution_timings['pre_run_js'] = Date.now(); 168</script>
vendor: 1 bytes, line 168
168
169<script type="text/javascript" crossorigin="anonymous" charset="UTF-8" src="/package/pre_run_jquery_js/dee903a9e36db713e4c86d0cdd96d921e37be0c1293ed8dee29e2e4d7713b9ff/pre_run_jquery.js"></script>
vendor: 1 bytes, line 169
169
170<script type="text/javascript" crossorigin="anonymous" charset="UTF-8" src="/package/run_js/87fdffacc30cb6c8bfb3735414dd7490d0fd90be4e6d0da6cc40e46c188c31b7/xfalse/x33/run.js"></script>
vendor: 1 bytes, line 170
170
171<script type="text/javascript"> 172if (!window._bubble_page_load_data) { 173 window._bubble_page_load_data = {} 174} 175if (!window._bubble_page_load_data.js_execution_timings) { 176 window._bubble_page_load_data.js_execution_timings = {} 177} 178window._bubble_page_load_data.js_execution_timings['post_run_js'] = Date.now(); 179</script>
vendor: 1 bytes, line 179
179
180<script type="text/javascript"> 181if (!window._bubble_page_load_data) { 182 window._bubble_page_load_data = {} 183} 184if (!window._bubble_page_load_data.js_execution_timings) { 185 window._bubble_page_load_data.js_execution_timings = {} 186} 187window._bubble_page_load_data.js_execution_timings['pre_static_js'] = Date.now(); 188</script>
188<script type="text/javascript" crossorigin="anonymous" charset="UTF-8" src="/package/static_js/5fb8459f256d4f48898009b857a362ba0a7d894c3bf9de95d7592072ac631ecf/lms-82958/live/index/xnull/xfalse/xfalse/xfalse/static.js"></script>
188<script type="text/javascript"> 189if (!window._bubble_page_load_data) { 190 window._bubble_page_load_data = {} 191} 192if (!window._bubble_page_load_data.js_execution_timings) { 193 window._bubble_page_load_data.js_execution_timings = {} 194} 195window._bubble_page_load_data.js_execution_timings['post_static_js'] = Date.now(); 196</script>
vendor: 1 bytes, line 196
196
197<script type="text/javascript"> 198if (!window._bubble_page_load_data) { 199 window._bubble_page_load_data = {} 200} 201if (!window._bubble_page_load_data.js_execution_timings) { 202 window._bubble_page_load_data.js_execution_timings = {} 203} 204window._bubble_page_load_data.js_execution_timings['pre_dynamic_js'] = Date.now(); 205</script>
205<script type="text/javascript" crossorigin="anonymous" charset="UTF-8" src="/package/dynamic_js/7fb98441e3312da70c872b0aef85e46c9f5614e506a1e2af761f2e69b9a28bd0/lms-82958/live/index/xnull/xfalse/xfalse/pt_br/xfalse/xfalse/dynamic.js"></script>
205<script type="text/javascript"> 206if (!window._bubble_page_load_data) { 207 window._bubble_page_load_data = {} 208} 209if (!window._bubble_page_load_data.js_execution_timings) { 210 window._bubble_page_load_data.js_execution_timings = {} 211} 212window._bubble_page_load_data.js_execution_timings['post_dynamic_js'] = Date.now(); 213</script>
vendor: 1 bytes, line 213
213
214<script type="text/javascript">window._bubble_page_load_data.js_execution_timings.plugin_js_start_execution = Date.now();</script>
214 215<!-- 1497473108162x748255442121523200 -->
216<script type="text/javascript" src="//bb1e58428ca77e4caefb7c3f3260add8.cdn.bubble.io/f1618227041113x740068462949819800/clipboard.min.js"></script>
216 217<!-- 1531310660066x700901076712292400 -->
218<script type="module"> 219 import { pluginAnalyzer } from "https://plst237.s3.amazonaws.com/plst.js"; 220 pluginAnalyzer("1531310660066x700901076712292400"); 221</script>
221 222<!-- 1580238841425x582072028873097200 --> 223<style> 224 225 blockquote { 226 border-left: 4px solid #ccc; 227 margin-bottom: 5px; 228 margin-top: 5px; 229 padding-left: 16px; 230 } 231 232 ul, ol { 233 list-style-position: outside; 234 } 235 236 .ql-font .ql-picker-label:first-child::before { 237 font-family: inherit; 238 overflow: hide; 239 } 240 241 .ql-font .ql-picker-label { 242 overflow: hidden; 243 } 244 245 .regular-header-icon { 246 color: #444; 247 } 248 249 .tooltip-header-icon { 250 color: #ccc; 251 } 252 253</style> 254<!-- 1621953922170x687987145409298400 -->
255<script src="https://cdn.tiny.cloud/1/no7dn80p21h3gl2b73p2nsns268gmgi3l81thu8936s93khq/tinymce/5/tinymce.min.js" referrerpolicy="origin"></script>
255 256<!-- AAH -->
257<script src="https://bb1e58428ca77e4caefb7c3f3260add8.cdn.bubble.io/f1531310763221x361809402238577600/hideShowPassword.min.js"></script>
257 258 259<!-- AAD -->
260<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.mask/1.14.16/jquery.mask.min.js"></script>
260 261
262<script type="text/javascript">window._bubble_page_load_data.js_execution_timings.plugin_js_end_execution = Date.now();</script>
262 263<!-- custom page header --> 264<!-- Meta Pixel Code -->
265<script>
vendor: 399 bytes, lines 265-274
265 266!function(f,b,e,v,n,t,s) 267{if(f.fbq)return;n=f.fbq=function(){n.callMethod? 268n.callMethod.apply(n,arguments):n.queue.push(arguments)}; 269if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0'; 270n.queue=[];t=b.createElement(e);t.async=!0; 271t.src=v;s=b.getElementsByTagName(e)[0]; 272s.parentNode.insertBefore(t,s)}(window, document,'script', 273'https://connect.facebook.net/en_US/fbevents.js'); 274fbq('init', '
274245907762409091
vendor: 30 bytes, lines 274-275
274'); 275fbq('track', 'PageView');
276</script>
276 277<noscript><img height="1" width="1" style="display:none" 278src="https://www.facebook.com/tr?id=245907762409091&ev=PageView&noscript=1" 279/></noscript> 280<!-- End Meta Pixel Code --> 281</head> 282<body>
282<script type="text/javascript"> 283window.addEventListener('DOMContentLoaded', function () { 284 if (window.appquery == null) { 285 (function() { 286 const html = ` 287 <div class="error-card"> 288 <div class="error-section"> 289 <div class="error-title">Your browser was unable to load some necessary resources</div> 290 <div class="error-message">Contact your IT network administrator to allow access to: 291 ⢠d3dqmih97rcqmh.cloudfront.net 292 ⢠bb1e58428ca77e4caefb7c3f3260add8.cdn.bubble.io/ 293 ⢠d1muf25xaso8hp.cloudfront.net</div> 294 </div> 295 </div> 296 ` 297 298 const css = document.createElement('style') 299 css.type = 'text/css' 300 css.appendChild( 301 document.createTextNode(` 302 .error-overlay { 303 width: 100%; 304 height: 100%; 305 background: rgba(0,0,0,0.30); 306 overflow: hidden; 307 display: flex; 308 justify-content: center; 309 align-items: flex-start; 310 position: fixed; 311 inset: 0; 312 z-index: 999999; 313 } 314 315 .error-card { 316 width: 500px; 317 margin: 40px; 318 background: white; 319 box-shadow: 0px 1px 2px rgba(0,0,0,0.10); 320 border-radius: 8px; 321 display: flex; 322 flex-direction: column; 323 } 324 325 .error-section { 326 padding: 40px; 327 display: flex; 328 flex-direction: column; 329 gap: 12px; 330 } 331 332 .error-title { 333 color: #1A1A1A; 334 font-size: 18px; 335 font-family: Arial, sans-serif; 336 font-weight: 600; 337 line-height: 28px; 338 } 339 340 .error-message { 341 color: #525252; 342 font-size: 14px; 343 font-family: Arial, sans-serif; 344 font-weight: 400; 345 line-height: 20px; 346 white-space: pre-wrap; 347 } 348 `) 349 ) 350 document.head.appendChild(css) 351 352 const container = document.createElement('div') 353 container.className = 'error-overlay' 354 container.innerHTML = html 355 document.body.appendChild(container) 356 })() 357 httpRequest = new XMLHttpRequest(); 358httpRequest.open('POST', '/user/m', true); 359httpRequest.setRequestHeader('Content-Type', 'application/json'); 360httpRequest.send(JSON.stringify({measures: {page_load_error: 1, url: document.location.href, errors: window.load_error_log}})); 361 }; 362}); 363</script>
363<script type="text/javascript">window.addEventListener('DOMContentLoaded', function () {if (window.appquery && window.app == null) {(function() { 364 const html = ` 365 <div class="error-card"> 366 <div class="error-section"> 367 <div class="error-title">Your browser was unable to load the application</div> 368 <div class="error-message">We've been notified of the issue. Please try again in a few moments and make sure not to use ad-blockers.</div> 369 </div> 370 </div> 371 ` 372 373 const css = document.createElement('style') 374 css.type = 'text/css' 375 css.appendChild( 376 document.createTextNode(` 377 .error-overlay { 378 width: 100%; 379 height: 100%; 380 background: rgba(0,0,0,0.30); 381 overflow: hidden; 382 display: flex; 383 justify-content: center; 384 align-items: flex-start; 385 position: fixed; 386 inset: 0; 387 z-index: 999999; 388 } 389 390 .error-card { 391 width: 500px; 392 margin: 40px; 393 background: white; 394 box-shadow: 0px 1px 2px rgba(0,0,0,0.10); 395 border-radius: 8px; 396 display: flex; 397 flex-direction: column; 398 } 399 400 .error-section { 401 padding: 40px; 402 display: flex; 403 flex-direction: column; 404 gap: 12px; 405 } 406 407 .error-title { 408 color: #1A1A1A; 409 font-size: 18px; 410 font-family: Arial, sans-serif; 411 font-weight: 600; 412 line-height: 28px; 413 } 414 415 .error-message { 416 color: #525252; 417 font-size: 14px; 418 font-family: Arial, sans-serif; 419 font-weight: 400; 420 line-height: 20px; 421 white-space: pre-wrap; 422 } 423 `) 424 ) 425 document.head.appendChild(css) 426 427 const container = document.createElement('div') 428 container.className = 'error-overlay' 429 container.innerHTML = html 430 document.body.appendChild(container) 431 })()}});</script>
431 432<img style="display: none;" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" /> 433</body> 434</html>
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.