mirror of
https://github.com/massgravel/massgrave.dev.git
synced 2024-11-23 23:10:55 +07:00
1150 lines
34 KiB
HTML
1150 lines
34 KiB
HTML
<!DOCTYPE html>
|
||
|
||
<html>
|
||
|
||
<head>
|
||
|
||
<meta charset="utf-8" />
|
||
<meta name="generator" content="pandoc" />
|
||
<meta http-equiv="X-UA-Compatible" content="IE=EDGE" />
|
||
|
||
|
||
|
||
|
||
<title>KMS38 Activation</title>
|
||
|
||
<script src="site_libs/header-attrs-2.23/header-attrs.js"></script>
|
||
<script src="site_libs/jquery-3.6.0/jquery-3.6.0.min.js"></script>
|
||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||
<link href="site_libs/bootstrap-3.3.5/css/readable.min.css" rel="stylesheet" />
|
||
<script src="site_libs/bootstrap-3.3.5/js/bootstrap.min.js"></script>
|
||
<script src="site_libs/bootstrap-3.3.5/shim/html5shiv.min.js"></script>
|
||
<script src="site_libs/bootstrap-3.3.5/shim/respond.min.js"></script>
|
||
<style>h1 {font-size: 34px;}
|
||
h1.title {font-size: 38px;}
|
||
h2 {font-size: 30px;}
|
||
h3 {font-size: 24px;}
|
||
h4 {font-size: 18px;}
|
||
h5 {font-size: 16px;}
|
||
h6 {font-size: 12px;}
|
||
code {color: inherit; background-color: rgba(0, 0, 0, 0.04);}
|
||
pre:not([class]) { background-color: white }</style>
|
||
<script src="site_libs/jqueryui-1.13.2/jquery-ui.min.js"></script>
|
||
<link href="site_libs/tocify-1.9.1/jquery.tocify.css" rel="stylesheet" />
|
||
<script src="site_libs/tocify-1.9.1/jquery.tocify.js"></script>
|
||
<script src="site_libs/navigation-1.1/tabsets.js"></script>
|
||
<link rel="shortcut icon" href="favicon.ico">
|
||
|
||
<style type="text/css">
|
||
code{white-space: pre-wrap;}
|
||
span.smallcaps{font-variant: small-caps;}
|
||
span.underline{text-decoration: underline;}
|
||
div.column{display: inline-block; vertical-align: top; width: 50%;}
|
||
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
|
||
ul.task-list{list-style: none;}
|
||
</style>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<link rel="stylesheet" href="styles.css" type="text/css" />
|
||
|
||
|
||
|
||
<style type = "text/css">
|
||
.main-container {
|
||
max-width: 940px;
|
||
margin-left: auto;
|
||
margin-right: auto;
|
||
}
|
||
img {
|
||
max-width:100%;
|
||
}
|
||
.tabbed-pane {
|
||
padding-top: 12px;
|
||
}
|
||
.html-widget {
|
||
margin-bottom: 20px;
|
||
}
|
||
button.code-folding-btn:focus {
|
||
outline: none;
|
||
}
|
||
summary {
|
||
display: list-item;
|
||
}
|
||
details > summary > p:only-child {
|
||
display: inline;
|
||
}
|
||
pre code {
|
||
padding: 0;
|
||
}
|
||
</style>
|
||
|
||
|
||
<style type="text/css">
|
||
.dropdown-submenu {
|
||
position: relative;
|
||
}
|
||
.dropdown-submenu>.dropdown-menu {
|
||
top: 0;
|
||
left: 100%;
|
||
margin-top: -6px;
|
||
margin-left: -1px;
|
||
border-radius: 0 6px 6px 6px;
|
||
}
|
||
.dropdown-submenu:hover>.dropdown-menu {
|
||
display: block;
|
||
}
|
||
.dropdown-submenu>a:after {
|
||
display: block;
|
||
content: " ";
|
||
float: right;
|
||
width: 0;
|
||
height: 0;
|
||
border-color: transparent;
|
||
border-style: solid;
|
||
border-width: 5px 0 5px 5px;
|
||
border-left-color: #cccccc;
|
||
margin-top: 5px;
|
||
margin-right: -10px;
|
||
}
|
||
.dropdown-submenu:hover>a:after {
|
||
border-left-color: #adb5bd;
|
||
}
|
||
.dropdown-submenu.pull-left {
|
||
float: none;
|
||
}
|
||
.dropdown-submenu.pull-left>.dropdown-menu {
|
||
left: -100%;
|
||
margin-left: 10px;
|
||
border-radius: 6px 0 6px 6px;
|
||
}
|
||
</style>
|
||
|
||
<script type="text/javascript">
|
||
// manage active state of menu based on current page
|
||
$(document).ready(function () {
|
||
// active menu anchor
|
||
href = window.location.pathname
|
||
href = href.substr(href.lastIndexOf('/') + 1)
|
||
if (href === "")
|
||
href = "index.html";
|
||
var menuAnchor = $('a[href="' + href + '"]');
|
||
|
||
// mark the anchor link active (and if it's in a dropdown, also mark that active)
|
||
var dropdown = menuAnchor.closest('li.dropdown');
|
||
if (window.bootstrap) { // Bootstrap 4+
|
||
menuAnchor.addClass('active');
|
||
dropdown.find('> .dropdown-toggle').addClass('active');
|
||
} else { // Bootstrap 3
|
||
menuAnchor.parent().addClass('active');
|
||
dropdown.addClass('active');
|
||
}
|
||
|
||
// Navbar adjustments
|
||
var navHeight = $(".navbar").first().height() + 15;
|
||
var style = document.createElement('style');
|
||
var pt = "padding-top: " + navHeight + "px; ";
|
||
var mt = "margin-top: -" + navHeight + "px; ";
|
||
var css = "";
|
||
// offset scroll position for anchor links (for fixed navbar)
|
||
for (var i = 1; i <= 6; i++) {
|
||
css += ".section h" + i + "{ " + pt + mt + "}\n";
|
||
}
|
||
style.innerHTML = "body {" + pt + "padding-bottom: 40px; }\n" + css;
|
||
document.head.appendChild(style);
|
||
});
|
||
</script>
|
||
|
||
<!-- tabsets -->
|
||
|
||
<style type="text/css">
|
||
.tabset-dropdown > .nav-tabs {
|
||
display: inline-table;
|
||
max-height: 500px;
|
||
min-height: 44px;
|
||
overflow-y: auto;
|
||
border: 1px solid #ddd;
|
||
border-radius: 4px;
|
||
}
|
||
|
||
.tabset-dropdown > .nav-tabs > li.active:before, .tabset-dropdown > .nav-tabs.nav-tabs-open:before {
|
||
content: "\e259";
|
||
font-family: 'Glyphicons Halflings';
|
||
display: inline-block;
|
||
padding: 10px;
|
||
border-right: 1px solid #ddd;
|
||
}
|
||
|
||
.tabset-dropdown > .nav-tabs.nav-tabs-open > li.active:before {
|
||
content: "\e258";
|
||
font-family: 'Glyphicons Halflings';
|
||
border: none;
|
||
}
|
||
|
||
.tabset-dropdown > .nav-tabs > li.active {
|
||
display: block;
|
||
}
|
||
|
||
.tabset-dropdown > .nav-tabs > li > a,
|
||
.tabset-dropdown > .nav-tabs > li > a:focus,
|
||
.tabset-dropdown > .nav-tabs > li > a:hover {
|
||
border: none;
|
||
display: inline-block;
|
||
border-radius: 4px;
|
||
background-color: transparent;
|
||
}
|
||
|
||
.tabset-dropdown > .nav-tabs.nav-tabs-open > li {
|
||
display: block;
|
||
float: none;
|
||
}
|
||
|
||
.tabset-dropdown > .nav-tabs > li {
|
||
display: none;
|
||
}
|
||
</style>
|
||
|
||
<!-- code folding -->
|
||
|
||
|
||
|
||
<style type="text/css">
|
||
|
||
#TOC {
|
||
margin: 25px 0px 20px 0px;
|
||
}
|
||
@media (max-width: 768px) {
|
||
#TOC {
|
||
position: relative;
|
||
width: 100%;
|
||
}
|
||
}
|
||
|
||
@media print {
|
||
.toc-content {
|
||
/* see https://github.com/w3c/csswg-drafts/issues/4434 */
|
||
float: right;
|
||
}
|
||
}
|
||
|
||
.toc-content {
|
||
padding-left: 30px;
|
||
padding-right: 40px;
|
||
}
|
||
|
||
div.main-container {
|
||
max-width: 1200px;
|
||
}
|
||
|
||
div.tocify {
|
||
width: 20%;
|
||
max-width: 260px;
|
||
max-height: 85%;
|
||
}
|
||
|
||
@media (min-width: 768px) and (max-width: 991px) {
|
||
div.tocify {
|
||
width: 25%;
|
||
}
|
||
}
|
||
|
||
@media (max-width: 767px) {
|
||
div.tocify {
|
||
width: 100%;
|
||
max-width: none;
|
||
}
|
||
}
|
||
|
||
.tocify ul, .tocify li {
|
||
line-height: 20px;
|
||
}
|
||
|
||
.tocify-subheader .tocify-item {
|
||
font-size: 0.90em;
|
||
}
|
||
|
||
.tocify .list-group-item {
|
||
border-radius: 0px;
|
||
}
|
||
|
||
.tocify-subheader {
|
||
display: inline;
|
||
}
|
||
.tocify-subheader .tocify-item {
|
||
font-size: 0.95em;
|
||
}
|
||
|
||
</style>
|
||
|
||
|
||
|
||
</head>
|
||
|
||
<body>
|
||
|
||
|
||
<div class="container-fluid main-container">
|
||
|
||
|
||
<!-- setup 3col/9col grid for toc_float and main content -->
|
||
<div class="row">
|
||
<div class="col-xs-12 col-sm-4 col-md-3">
|
||
<div id="TOC" class="tocify">
|
||
</div>
|
||
</div>
|
||
|
||
<div class="toc-content col-xs-12 col-sm-8 col-md-9">
|
||
|
||
|
||
|
||
|
||
<div class="navbar navbar-default navbar-fixed-top" role="navigation">
|
||
<div class="container">
|
||
<div class="navbar-header">
|
||
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-bs-toggle="collapse" data-target="#navbar" data-bs-target="#navbar">
|
||
<span class="icon-bar"></span>
|
||
<span class="icon-bar"></span>
|
||
<span class="icon-bar"></span>
|
||
</button>
|
||
<a class="navbar-brand" href="index.html"><div><img src="logo.png" class="logo"> Microsoft Activation Scripts</div></a>
|
||
</div>
|
||
<div id="navbar" class="navbar-collapse collapse">
|
||
<ul class="nav navbar-nav">
|
||
|
||
</ul>
|
||
<ul class="nav navbar-nav navbar-right">
|
||
<li>
|
||
<a href="index.html">Home</a>
|
||
</li>
|
||
<li>
|
||
<a href="faq.html">FAQ</a>
|
||
</li>
|
||
<li>
|
||
<a href="troubleshoot.html">Troubleshoot</a>
|
||
</li>
|
||
<li>
|
||
<a href="genuine-installation-media.html">Download Windows/Office</a>
|
||
</li>
|
||
<li class="dropdown">
|
||
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false">
|
||
Docs
|
||
|
||
<span class="caret"></span>
|
||
</a>
|
||
<ul class="dropdown-menu" role="menu">
|
||
<li>
|
||
<a href="hwid.html">HWID Activation</a>
|
||
</li>
|
||
<li>
|
||
<a href="ohook.html">Ohook Activation</a>
|
||
</li>
|
||
<li>
|
||
<a href="kms38.html">KMS38 Activation</a>
|
||
</li>
|
||
<li>
|
||
<a href="online_kms.html">Online KMS Activation</a>
|
||
</li>
|
||
<li class="divider"></li>
|
||
<li>
|
||
<a href="command_line_switches.html">Command Line Switches</a>
|
||
</li>
|
||
<li class="divider"></li>
|
||
<li>
|
||
<a href="check_activation_status.html">Check Activation Status</a>
|
||
</li>
|
||
<li class="divider"></li>
|
||
<li>
|
||
<a href="oem-folder.html">Extract $OEM$ Folder</a>
|
||
</li>
|
||
<li>
|
||
<a href="change_edition.html">Change Edition</a>
|
||
</li>
|
||
<li class="divider"></li>
|
||
<li>
|
||
<a href="bypass-russian-geoblock.html">Bypass Russian Geoblock</a>
|
||
</li>
|
||
<li>
|
||
<a href="office-license-is-not-genuine.html">Office License Is Not Genuine</a>
|
||
</li>
|
||
<li>
|
||
<a href="fix-wpa-registry.html">Fix WPA Registry</a>
|
||
</li>
|
||
<li>
|
||
<a href="licensing-servers-issue.html">Licensing Servers Issue</a>
|
||
</li>
|
||
<li class="divider"></li>
|
||
<li>
|
||
<a href="unsupported_products_activation.html">Unsupported Products Activation</a>
|
||
</li>
|
||
<li class="divider"></li>
|
||
<li>
|
||
<a href="changelog.html">Changelog</a>
|
||
</li>
|
||
<li>
|
||
<a href="credits.html">Credits</a>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li>
|
||
<a href="contactus.html">Contact Us</a>
|
||
</li>
|
||
</ul>
|
||
</div><!--/.nav-collapse -->
|
||
</div><!--/.container -->
|
||
</div><!--/.navbar -->
|
||
|
||
<div id="header">
|
||
|
||
|
||
|
||
|
||
</div>
|
||
|
||
|
||
<div id="kms38-activation" class="section level1">
|
||
<h1>KMS38 Activation</h1>
|
||
<hr />
|
||
<div id="overview" class="section level2">
|
||
<h2>Overview</h2>
|
||
<ul>
|
||
<li><p>How to use it? Please find the instructions <a
|
||
href="index.html#Download__How_to_use_it">here</a>.</p></li>
|
||
<li><p>This activation method activates Windows 10/11 and Windows Server
|
||
(14393 and later builds), until January 19, 2038, 03:14:07 UTC.</p></li>
|
||
<li><p>This activation method does not store any files on the
|
||
system.</p></li>
|
||
<li><p>This activation method works offline.</p></li>
|
||
<li><p>Unlike HWID and Online KMS activation options, KMS38 does not
|
||
match with any official activation method.</p></li>
|
||
</ul>
|
||
<hr />
|
||
</div>
|
||
<div id="how-does-it-work" class="section level2">
|
||
<h2>How does it work?</h2>
|
||
<ul>
|
||
<li><p>In a genuine <a
|
||
href="https://docs.microsoft.com/en-us/previous-versions/tn-archive/ee939272(v=technet.10)?redirectedfrom=MSDN#kms-overview">KMS</a>
|
||
activation environment, activation lasts a maximum of up to 180 days.
|
||
This is done using a valid license and server setup.</p></li>
|
||
<li><p>In the Windows major upgrade process, the system uses
|
||
<code>gatherosstate.exe</code> to carry over the remaining KMS
|
||
activation period. It does this by creating a ticket that can be used
|
||
offline.</p></li>
|
||
<li><p>The trick is that we can fool the <code>gatherosstate.exe</code>
|
||
about the remaining KMS activation period and manually put the desired
|
||
period maximum up to January 19, 2038, 03:14:07 UTC.</p></li>
|
||
<li><p>Why is it limited to the year 2038?<br />
|
||
It’s related to the <a
|
||
href="https://en.wikipedia.org/wiki/Year_2038_problem">Y2K38 problem</a>
|
||
as this date (19 January 2038 03:14:07 UTC) is the maximum date we can
|
||
give to <code>gatherosstate.exe</code> without it looping back to the
|
||
year 1970.</p></li>
|
||
<li><p>How can we convince the gatherosstate.exe?<br />
|
||
There are two methods for it.<br />
|
||
<br />
|
||
<strong>1-</strong> Place a <a
|
||
href="https://github.com/asdcorp/Integrated_Patcher_3">custom
|
||
slc.dll</a> file beside gatherosstate.exe:<br />
|
||
gatherosstate.exe uses the system’s
|
||
<code>C:\Windows\System32\slc.dll</code> file to gather the system’s
|
||
info. If we place a custom slc.dll file beside gatherosstate.exe which
|
||
can send the rubbish data to it, then it will simply accept it and
|
||
generate a valid ticket allowing activation up to January 19, 2038,
|
||
03:14:07 UTC.<br />
|
||
<br />
|
||
<strong>2-</strong> <a
|
||
href="https://github.com/asdcorp/GamersOsState">Modify</a> the
|
||
gatherosstate.exe file itself so that it doesn’t check the system’s
|
||
activation status and we can put the activation period as we
|
||
wish.</p></li>
|
||
<li><p><strong>Notes:</strong></p>
|
||
<ul>
|
||
<li>To be clear, we are <strong>not modifying/patching any on-board
|
||
system file</strong> to get the ticket. Gatherosstate.exe is a part of
|
||
the ISO file and not available in C drive system files. The system’s
|
||
slc.dll file is not touched; Instead, we use custom slc.dll only for a
|
||
brief moment of ticket generation.</li>
|
||
<li>Latest MAS doesn’t use any of these methods; Instead, it uses
|
||
ready-to-use Universal tickets (check below for manual activation
|
||
info).</li>
|
||
</ul></li>
|
||
</ul>
|
||
<p><strong>Q:</strong> Can Microsoft block this kind of
|
||
activation?<br />
|
||
<strong>A:</strong> Not directly. They could only update Clipup to allow
|
||
for a maximum activation period of 180 days. Not much besides that can
|
||
be done on their part. The tickets are not sent to Microsoft at all, so
|
||
they can’t block them or take action directly.</p>
|
||
<hr />
|
||
</div>
|
||
<div id="supported-products" class="section level2">
|
||
<h2>Supported Products</h2>
|
||
<table>
|
||
<colgroup>
|
||
<col width="59%" />
|
||
<col width="40%" />
|
||
</colgroup>
|
||
<thead>
|
||
<tr class="header">
|
||
<th align="left">Windows 10/11</th>
|
||
<th align="left">Generic Volume License Key</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="odd">
|
||
<td align="left">Education</td>
|
||
<td align="left"><code>NW6C2-QMPVW-D7KKK-3GKT6-VCFB2</code></td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td align="left">Education N</td>
|
||
<td align="left"><code>2WH4N-8QGBV-H22JP-CT43Q-MDWWJ</code></td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td align="left">Enterprise</td>
|
||
<td align="left"><code>NPPR9-FWDCX-D2C8J-H872K-2YT43</code></td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td align="left">Enterprise N</td>
|
||
<td align="left"><code>DPH2V-TTNVB-4X9Q3-TJR4H-KHJW4</code></td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td align="left">Enterprise G</td>
|
||
<td align="left"><code>YYVX9-NTFWV-6MDM3-9PT4T-4M68B</code></td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td align="left">Enterprise G N</td>
|
||
<td align="left"><code>44RPN-FTY23-9VTTB-MP9BX-T84FV</code></td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td align="left">Enterprise LTSB 2016</td>
|
||
<td align="left"><code>DCPHK-NFMTC-H88MJ-PFHPY-QJ4BJ</code></td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td align="left">Enterprise LTSC 2019</td>
|
||
<td align="left"><code>M7XTQ-FN8P6-TTKYV-9D4CC-J462D</code></td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td align="left">Enterprise LTSC 2021</td>
|
||
<td align="left"><code>M7XTQ-FN8P6-TTKYV-9D4CC-J462D</code></td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td align="left">Enterprise LTSC 2024</td>
|
||
<td align="left"><code>M7XTQ-FN8P6-TTKYV-9D4CC-J462D</code></td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td align="left">Enterprise N LTSB 2016</td>
|
||
<td align="left"><code>QFFDN-GRT3P-VKWWX-X7T3R-8B639</code></td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td align="left">Enterprise N LTSC 2019</td>
|
||
<td align="left"><code>92NFX-8DJQP-P6BBQ-THF9C-7CG2H</code></td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td align="left">Enterprise N LTSC 2021</td>
|
||
<td align="left"><code>92NFX-8DJQP-P6BBQ-THF9C-7CG2H</code></td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td align="left">Enterprise N LTSC 2024</td>
|
||
<td align="left"><code>92NFX-8DJQP-P6BBQ-THF9C-7CG2H</code></td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td align="left">IoT Enterprise LTSC 2021 (19044.2788 and later)</td>
|
||
<td align="left"><code>KBN8V-HFGQ4-MGXVD-347P6-PDQGT</code></td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td align="left">IoT Enterprise LTSC 2024</td>
|
||
<td align="left"><code>KBN8V-HFGQ4-MGXVD-347P6-PDQGT</code></td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td align="left">Home</td>
|
||
<td align="left"><code>TX9XD-98N7V-6WMQ6-BX7FG-H8Q99</code></td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td align="left">Home N</td>
|
||
<td align="left"><code>3KHY7-WNT83-DGQKR-F7HPR-844BM</code></td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td align="left">Home China</td>
|
||
<td align="left"><code>PVMJN-6DFY6-9CCP6-7BKTT-D3WVR</code></td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td align="left">Home Single Language</td>
|
||
<td align="left"><code>7HNRX-D7KGG-3K4RQ-4WPJ4-YTDFH</code></td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td align="left">Lean</td>
|
||
<td align="left"><code>NBTWJ-3DR69-3C4V8-C26MC-GQ9M6</code></td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td align="left">Pro</td>
|
||
<td align="left"><code>W269N-WFGWX-YVC9B-4J6C9-T83GX</code></td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td align="left">Pro N</td>
|
||
<td align="left"><code>MH37W-N47XK-V7XM9-C7227-GCQG9</code></td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td align="left">Pro Education</td>
|
||
<td align="left"><code>6TP4R-GNPTD-KYYHQ-7B7DP-J447Y</code></td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td align="left">Pro Education N</td>
|
||
<td align="left"><code>YVWGF-BXNMC-HTQYQ-CPQ99-66QFC</code></td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td align="left">Pro for Workstations</td>
|
||
<td align="left"><code>NRG8B-VKK3Q-CXVCJ-9G2XF-6Q84J</code></td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td align="left">Pro N for Workstations</td>
|
||
<td align="left"><code>9FNHH-K3HBT-3W4TD-6383H-6XYWF</code></td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td align="left">SE</td>
|
||
<td align="left"><code>37D7F-N49CB-WQR8W-TBJ73-FM8RX</code></td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td align="left">SE N</td>
|
||
<td align="left"><code>6XN7V-PCBDC-BDBRH-8DQY7-G6R44</code></td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<table>
|
||
<colgroup>
|
||
<col width="53%" />
|
||
<col width="46%" />
|
||
</colgroup>
|
||
<thead>
|
||
<tr class="header">
|
||
<th align="left">Windows Server (LTSC)</th>
|
||
<th align="left">Generic Volume License Key</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="odd">
|
||
<td align="left">Windows Server 2025 Standard</td>
|
||
<td align="left"><code>DPNXD-67YY9-WWFJJ-RYH99-RM832</code></td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td align="left">Windows Server 2025 Datacenter</td>
|
||
<td align="left"><code>CNFDQ-2BW8H-9V4WM-TKCPD-MD2QF</code></td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td align="left">Windows Server 2025 Azure Core</td>
|
||
<td align="left"><code>QN7G3-4RM92-MT6QR-PR966-FVYV7</code></td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td align="left">Windows Server 2025 Azure Datacenter</td>
|
||
<td align="left"><code>NQ8HH-FTDTM-6VGY7-TQ3DV-XFBV2</code></td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td align="left">Windows Server 2022 Datacenter</td>
|
||
<td align="left"><code>WX4NM-KYWYW-QJJR4-XV3QB-6VM33</code></td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td align="left">Windows Server 2022 Standard</td>
|
||
<td align="left"><code>VDYBN-27WPP-V4HQT-9VMD4-VMK7H</code></td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td align="left">Windows Server 2022 Azure Core</td>
|
||
<td align="left"><code>6N379-GGTMK-23C6M-XVVTC-CKFRQ</code></td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td align="left">Windows Server 2022 Azure Datacenter</td>
|
||
<td align="left"><code>NTBV8-9K7Q8-V27C6-M2BTV-KHMXV</code></td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td align="left">Windows Server 2019 Datacenter</td>
|
||
<td align="left"><code>WMDGN-G9PQG-XVVXX-R3X43-63DFG</code></td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td align="left">Windows Server 2019 Standard</td>
|
||
<td align="left"><code>N69G4-B89J2-4G8F4-WWYCC-J464C</code></td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td align="left">Windows Server 2019 Essentials</td>
|
||
<td align="left"><code>WVDHN-86M7X-466P6-VHXV7-YY726</code></td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td align="left">Windows Server 2019 Azure Core</td>
|
||
<td align="left"><code>FDNH6-VW9RW-BXPJ7-4XTYG-239TB</code></td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td align="left">Windows Server 2019 ARM64</td>
|
||
<td align="left"><code>GRFBW-QNDC4-6QBHG-CCK3B-2PR88</code></td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td align="left">Windows Server 2016 ARM64</td>
|
||
<td align="left"><code>K9FYF-G6NCK-73M32-XMVPY-F9DRR</code></td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td align="left">Windows Server 2016 Datacenter</td>
|
||
<td align="left"><code>CB7KF-BWN84-R7R2Y-793K2-8XDDG</code></td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td align="left">Windows Server 2016 Standard</td>
|
||
<td align="left"><code>WC2BQ-8NRM3-FDDYY-2BFGV-KHKQY</code></td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td align="left">Windows Server 2016 Essentials</td>
|
||
<td align="left"><code>JCKRF-N37P4-C2D82-9YXRT-4M63B</code></td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td align="left">Windows Server 2016 Cloud Storage</td>
|
||
<td align="left"><code>QN4C6-GBJD2-FB422-GHWJK-GJG2R</code></td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td align="left">Windows Server 2016 Azure Core</td>
|
||
<td align="left"><code>VP34G-4NPPG-79JTQ-864T4-R3MQX</code></td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<table>
|
||
<colgroup>
|
||
<col width="53%" />
|
||
<col width="46%" />
|
||
</colgroup>
|
||
<thead>
|
||
<tr class="header">
|
||
<th align="left">Windows Server (Annual Channel)</th>
|
||
<th align="left">Generic Volume License Key</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="odd">
|
||
<td align="left"><strong>23H2</strong></td>
|
||
<td align="left"></td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td align="left">Windows Server Datacenter</td>
|
||
<td align="left"><code>WX4NM-KYWYW-QJJR4-XV3QB-6VM33</code></td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<table>
|
||
<colgroup>
|
||
<col width="53%" />
|
||
<col width="46%" />
|
||
</colgroup>
|
||
<thead>
|
||
<tr class="header">
|
||
<th align="left">Windows Server (Semi-Annual Channel)</th>
|
||
<th align="left">Generic Volume License Key</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="odd">
|
||
<td align="left"><strong>20H2, 2004, 1909, 1903, and 1809</strong></td>
|
||
<td align="left"></td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td align="left">Windows Server Datacenter</td>
|
||
<td align="left"><code>6NMRW-2C8FM-D24W7-TQWMY-CWH2D</code></td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td align="left">Windows Server Standard</td>
|
||
<td align="left"><code>N2KJX-J94YW-TQVFB-DG9YT-724CC</code></td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td align="left"><strong>1803</strong></td>
|
||
<td align="left"></td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td align="left">Windows Server Datacenter</td>
|
||
<td align="left"><code>2HXDN-KRXHB-GPYC7-YCKFJ-7FVDG</code></td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td align="left">Windows Server Standard</td>
|
||
<td align="left"><code>PTXN8-JFHJM-4WC78-MPCBR-9W4KR</code></td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td align="left"><strong>1709</strong></td>
|
||
<td align="left"></td>
|
||
</tr>
|
||
<tr class="even">
|
||
<td align="left">Windows Server Datacenter</td>
|
||
<td align="left"><code>6Y6KB-N82V8-D8CQV-23MJW-BWTG6</code></td>
|
||
</tr>
|
||
<tr class="odd">
|
||
<td align="left">Windows Server Standard</td>
|
||
<td align="left"><code>DPCNP-XQFKJ-BJF7R-FRC8D-GF6G4</code></td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<p><strong>Notes:</strong></p>
|
||
<ul>
|
||
<li><p>X86-X64 and ARM64 architecture systems are supported.</p></li>
|
||
<li><p>Any Evaluation version of Windows (i.e. ‘EVAL’ LTSB/C) cannot be
|
||
activated.</p></li>
|
||
<li><p>KMS38 only supports Windows/server version 14393 (1607) and newer
|
||
versions.</p></li>
|
||
<li><p>Initial release (19044.1288) of Iot LTSC 2021 doesn’t support KMS
|
||
license and it was added later in update 19044.2788.</p></li>
|
||
<li><p>ServerRdsh, Server Azure Datacenter editions do not <a
|
||
href="https://learn.microsoft.com/en-us/azure/virtual-desktop/windows-10-multisession-faq">officially</a>
|
||
support activation on non-azure systems.</p></li>
|
||
</ul>
|
||
<hr />
|
||
</div>
|
||
<div id="how-to-remove-kms38" class="section level2">
|
||
<h2>How to remove KMS38?</h2>
|
||
<ul>
|
||
<li><p>In MAS, go to KMS38 Activation and apply the Remove KM38
|
||
Protection option.</p></li>
|
||
<li><p>After that, In MAS, go to Troubleshoot and apply the Fix
|
||
Licensing option.</p></li>
|
||
<li><p>Done.</p></li>
|
||
</ul>
|
||
<hr />
|
||
</div>
|
||
<div id="kms38---server-coracor" class="section level2">
|
||
<h2>KMS38 - Server Cor/Acor</h2>
|
||
<ul>
|
||
<li><p>Windows Server Cor/Acor (No GUI) editions don’t have the
|
||
<code>clipup.exe</code> file.</p></li>
|
||
<li><p>To KMS38 activate it, you need to download the
|
||
<code>ClipUp.exe</code> file from <a
|
||
href="https://www.box.com/index.php?rm=box_download_shared_file&shared_name=qrmkewit9ty6ah0qzk0vncyyrwo8hei9&file_id=f_747809716860">this
|
||
link</a>.<br />
|
||
<br />
|
||
<code>File: ClipUp.exe</code><br />
|
||
<code>SHA-256: 0d6e9f6bbd0321eda149658d96040cb4f79e0bd93ba60061f25b28fecbf4d4ef</code><br />
|
||
<br />
|
||
This file has digital signatures that can be verified. You can also get
|
||
this file from the official <a
|
||
href="https://download.microsoft.com/download/1/6/F/16FA20E6-4662-482A-920B-1A45CF5AAE3C/14393.0.160715-1616.RS1_RELEASE_SERVER_EVAL_X64FRE_EN-US.ISO">Windows
|
||
Server 2016 x64 RTM ISO</a>.</p></li>
|
||
<li><p>Put the <code>ClipUp.exe</code> file beside the KMS38 Activation
|
||
script. That would be either <code>MAS_AIO.cmd</code> or
|
||
<code>KMS38_Activation.cmd</code></p></li>
|
||
<li><p>The activation script will check for <code>ClipUp.exe</code> in
|
||
the current folder (from where the script is running) and will use it
|
||
accordingly.</p></li>
|
||
</ul>
|
||
<hr />
|
||
</div>
|
||
<div id="kms38-protection" class="section level2">
|
||
<h2>KMS38 Protection</h2>
|
||
<ul>
|
||
<li><p>KMS38 Activation is vulnerable to unintended replacement by a
|
||
180-Day KMS Activator.</p></li>
|
||
<li><p>From MAS 1.7, the script will enable KMS38 protection by
|
||
default.</p></li>
|
||
<li><p>If you are going to use <a
|
||
href="(https://github.com/abbodi1406/KMS_VL_ALL_AIO)">KMS_VL_ALL</a> by
|
||
abbodi1406 or <a href="index.html">MAS</a> (Online KMS option) for
|
||
<strong>Office activation</strong>, then you can choose to remove this
|
||
protection.</p></li>
|
||
<li><p>Below is the explanation for how the script protect
|
||
KMS38.</p></li>
|
||
<li><p>In the KMS activation method, Windows first checks the KMS IP
|
||
registered as a specific KMS, and if that is not defined, then it checks
|
||
the Global KMS IP. Another fact is that if Localhost (IP range
|
||
127.0.0.0/8) is defined as the KMS IP in Windows 8 and later OS, then
|
||
Windows will not accept it as a valid KMS IP. This script simply
|
||
utilizes the above facts to protect the KMS38 activation from being
|
||
overwritten by any alternative ‘normal’ 180-Day KMS Activation, and at
|
||
the same time, that KMS activator can be used for Office
|
||
activation.</p></li>
|
||
<li><p>Script steps-</p>
|
||
<ul>
|
||
<li><p>Set the Windows edition-specific KMS IP to Localhost
|
||
(127.0.0.2)</p></li>
|
||
<li><p>Protect the below Registry from edit and delete</p></li>
|
||
<li><p>Done.</p></li>
|
||
</ul></li>
|
||
</ul>
|
||
<p><code>HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\55c92734-d682-4d71-983e-d6ec3f16059f\XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\</code></p>
|
||
<hr />
|
||
</div>
|
||
<div id="command-line-switches" class="section level2">
|
||
<h2>Command line Switches</h2>
|
||
<ul>
|
||
<li>Check <a href="command_line_switches.html">here</a>.</li>
|
||
</ul>
|
||
<hr />
|
||
</div>
|
||
<div id="manual-activation" class="section level2">
|
||
<h2>Manual Activation</h2>
|
||
<p>This is for those who want to perform manual activation. If you want
|
||
a tool to do this for you, then check <a href="index.html">here</a>.</p>
|
||
<p>We can perform the manual activation process in 2 ways.</p>
|
||
<div id="from-ready-made-ticket" class="section level3">
|
||
<h3>1- From Ready-Made Ticket</h3>
|
||
<ul>
|
||
<li><p>Open Windows PowerShell as administrator, and enter the following
|
||
commands in the sequence in which they are given.</p></li>
|
||
<li><p>Enter the key (Replace <code><key></code> with the key from
|
||
the above list) with the following command:</p></li>
|
||
</ul>
|
||
<p><code>slmgr /ipk <key></code></p>
|
||
<ul>
|
||
<li><p>Download the Universal ticket from <a
|
||
href="https://www.box.com/index.php?rm=box_download_shared_file&shared_name=p9zvmu4tnogv4nkn01kpyvkndfzhhiv4&file_id=f_1171245497490">here</a>
|
||
and extract the downloaded file.</p></li>
|
||
<li><p>Find a file named <code>KMS.xml</code> in the extracted
|
||
folder.</p></li>
|
||
<li><p>Copy that ticket file and paste it in the following folder:</p>
|
||
<p><code>C:\ProgramData\Microsoft\Windows\ClipSVC\GenuineTicket</code></p></li>
|
||
<li><p>Now run the below command in PowerShell to apply the
|
||
ticket:</p></li>
|
||
</ul>
|
||
<p><code>clipup -v -o</code></p>
|
||
<ul>
|
||
<li>Check the Activation Status with the following command:</li>
|
||
</ul>
|
||
<p><code>slmgr /xpr</code></p>
|
||
<ul>
|
||
<li>Done.</li>
|
||
</ul>
|
||
<hr />
|
||
</div>
|
||
<div id="from-scratch" class="section level3">
|
||
<h3>2- From Scratch</h3>
|
||
<p>In this process, we will perform activation from scratch. This is
|
||
based on the Universal ticket method. Here, we will create identical
|
||
tickets that are used in the MAS HWID script and activate the system
|
||
with them.</p>
|
||
<ul>
|
||
<li><p>Download the file from the official MS link and extract this .cab
|
||
file.<br />
|
||
<a
|
||
href="https://download.microsoft.com/download/9/A/E/9AE69DD5-BA93-44E0-864E-180F5E700AB4/adk/Installers/14f4df8a2a7fc82a4f415cf6a341415d.cab"
|
||
class="uri">https://download.microsoft.com/download/9/A/E/9AE69DD5-BA93-44E0-864E-180F5E700AB4/adk/Installers/14f4df8a2a7fc82a4f415cf6a341415d.cab</a></p></li>
|
||
<li><p>Find the file named
|
||
<code>filf8377e82b29deadca67bc4858ed3fba9</code> and rename it as
|
||
<code>gatherosstate.exe</code></p></li>
|
||
<li><p>Make a folder named <code>Files</code> in C drive,
|
||
<code>C:\Files</code> and copy the <code>gatherosstate.exe</code> file
|
||
in that folder.</p></li>
|
||
<li><p>Open Windows PowerShell as administrator and enter the following
|
||
commands in the sequence in which they are given.</p></li>
|
||
<li><p>Enter the key (Replace <code><key></code> with the key from
|
||
the above list) with the following command:</p></li>
|
||
</ul>
|
||
<p><code>slmgr /ipk <key></code></p>
|
||
<ul>
|
||
<li>Copy the below code all at once and enter in PowerShell to modify
|
||
the <code>gatherosstate.exe</code> file.<br />
|
||
This code to modify the file is based on <a
|
||
href="https://github.com/asdcorp/GamersOsState">GamersOsState</a>.</li>
|
||
</ul>
|
||
<!-- -->
|
||
<pre><code>$bytes = [System.IO.File]::ReadAllBytes("C:\Files\gatherosstate.exe")
|
||
$bytes[320] = 0xf8
|
||
$bytes[321] = 0xfb
|
||
$bytes[322] = 0x05
|
||
$bytes[324] = 0x03
|
||
$bytes[13672] = 0x25
|
||
$bytes[13674] = 0x73
|
||
$bytes[13676] = 0x3b
|
||
$bytes[13678] = 0x00
|
||
$bytes[13680] = 0x00
|
||
$bytes[13682] = 0x00
|
||
$bytes[13684] = 0x00
|
||
$bytes[32748] = 0xe9
|
||
$bytes[32749] = 0x9e
|
||
$bytes[32750] = 0x00
|
||
$bytes[32751] = 0x00
|
||
$bytes[32752] = 0x00
|
||
$bytes[32894] = 0x8b
|
||
$bytes[32895] = 0x44
|
||
$bytes[32897] = 0x64
|
||
$bytes[32898] = 0x85
|
||
$bytes[32899] = 0xc0
|
||
$bytes[32900] = 0x0f
|
||
$bytes[32901] = 0x85
|
||
$bytes[32902] = 0x1c
|
||
$bytes[32903] = 0x02
|
||
$bytes[32904] = 0x00
|
||
$bytes[32906] = 0xe9
|
||
$bytes[32907] = 0x3c
|
||
$bytes[32908] = 0x01
|
||
$bytes[32909] = 0x00
|
||
$bytes[32910] = 0x00
|
||
$bytes[32911] = 0x85
|
||
$bytes[32912] = 0xdb
|
||
$bytes[32913] = 0x75
|
||
$bytes[32914] = 0xeb
|
||
$bytes[32915] = 0xe9
|
||
$bytes[32916] = 0x69
|
||
$bytes[32917] = 0xff
|
||
$bytes[32918] = 0xff
|
||
$bytes[32919] = 0xff
|
||
$bytes[33094] = 0xe9
|
||
$bytes[33095] = 0x80
|
||
$bytes[33096] = 0x00
|
||
$bytes[33097] = 0x00
|
||
$bytes[33098] = 0x00
|
||
$bytes[33449] = 0x64
|
||
$bytes[33576] = 0x8d
|
||
$bytes[33577] = 0x54
|
||
$bytes[33579] = 0x24
|
||
$bytes[33580] = 0xe9
|
||
$bytes[33581] = 0x55
|
||
$bytes[33582] = 0x01
|
||
$bytes[33583] = 0x00
|
||
$bytes[33584] = 0x00
|
||
$bytes[33978] = 0xc3
|
||
$bytes[34189] = 0x59
|
||
$bytes[34190] = 0xeb
|
||
$bytes[34191] = 0x28
|
||
$bytes[34238] = 0xe9
|
||
$bytes[34239] = 0x4f
|
||
$bytes[34240] = 0x00
|
||
$bytes[34241] = 0x00
|
||
$bytes[34242] = 0x00
|
||
$bytes[34346] = 0x24
|
||
$bytes[34376] = 0xeb
|
||
$bytes[34377] = 0x63
|
||
[System.IO.File]::WriteAllBytes("C:\Files\gatherosstatemodified.exe", $bytes)</code></pre>
|
||
<ul>
|
||
<li>Now right click on the file <code>gatherosstatemodified.exe</code>,
|
||
go to properties and set the compatibility mode to Windows XP SP3.<br />
|
||
</li>
|
||
<li>Now we need to generate the ticket, to do that, enter the below
|
||
command:</li>
|
||
</ul>
|
||
<!-- -->
|
||
<pre><code>C:\Files\gatherosstatemodified.exe /c GVLKExp=2038-01-19T03:14:07Z`;DownlevelGenuineState=1</code></pre>
|
||
<ul>
|
||
<li>A GenuineTicket.xml file should be created in the folder
|
||
<code>C:\Files\</code>. Now, let’s apply it:</li>
|
||
</ul>
|
||
<p><code>clipup -v -o -altto C:\Files\</code></p>
|
||
<ul>
|
||
<li>Check Activation Status with the following command:</li>
|
||
</ul>
|
||
<p><code>slmgr /xpr</code></p>
|
||
<ul>
|
||
<li>Done.</li>
|
||
</ul>
|
||
<p><strong>Notes:</strong></p>
|
||
<ul>
|
||
<li><p>To make the exact ticket used in MAS KMS38 script, fix the time
|
||
with the below PowerShell command and then initiate the ticket
|
||
generation process as per the steps mentioned above.<br />
|
||
<code>Set-TimeZone -Id "UTC"; $date=[datetime]"2022/10/11 12:00";while($true){set-date $date; start-sleep -milliseconds 10}</code></p></li>
|
||
<li><p>In the case of Windows Server Cor/Acor (No GUI) editions, the
|
||
system doesn’t have the <code>clipup.exe</code> file.<br />
|
||
To KMS38 activate it, you need to download the missing
|
||
<code>ClipUp.exe</code> file from <a
|
||
href="https://www.box.com/index.php?rm=box_download_shared_file&shared_name=qrmkewit9ty6ah0qzk0vncyyrwo8hei9&file_id=f_747809716860">this
|
||
link</a>.<br />
|
||
<br />
|
||
<code>File: ClipUp.exe</code><br />
|
||
<code>SHA-256: 0d6e9f6bbd0321eda149658d96040cb4f79e0bd93ba60061f25b28fecbf4d4ef</code><br />
|
||
<br />
|
||
This file has digital signatures that can be verified. You can also get
|
||
this file from the official <a
|
||
href="https://download.microsoft.com/download/1/6/F/16FA20E6-4662-482A-920B-1A45CF5AAE3C/14393.0.160715-1616.RS1_RELEASE_SERVER_EVAL_X64FRE_EN-US.ISO">Windows
|
||
Server 2016 x64 RTM ISO</a>.<br />
|
||
<br />
|
||
Put the <code>ClipUp.exe</code> in the <code>C:\Windows\System32</code>
|
||
folder and then initiate the above-mentioned activation process. Once
|
||
the activation is complete, you can remove the file.</p></li>
|
||
</ul>
|
||
<hr />
|
||
</div>
|
||
</div>
|
||
<div id="setup-preactivate" class="section level2">
|
||
<h2>Setup Preactivate</h2>
|
||
<ul>
|
||
<li><p>Check the Extract OEM option in the MAS <code>Extras</code>
|
||
section if you want pre-activated Windows installation.</p></li>
|
||
<li><p>Further, read <a href="oem-folder.html">here</a>.</p></li>
|
||
</ul>
|
||
<hr />
|
||
</div>
|
||
<div id="troubleshooting" class="section level2">
|
||
<h2>Troubleshooting</h2>
|
||
<ul>
|
||
<li>Check <a href="troubleshoot.html">here</a>.</li>
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
|
||
<script type="text/javascript" src="links.js"></script>
|
||
|
||
|
||
</div>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<script>
|
||
|
||
// add bootstrap table styles to pandoc tables
|
||
function bootstrapStylePandocTables() {
|
||
$('tr.odd').parent('tbody').parent('table').addClass('table table-condensed');
|
||
}
|
||
$(document).ready(function () {
|
||
bootstrapStylePandocTables();
|
||
});
|
||
|
||
|
||
</script>
|
||
|
||
<!-- tabsets -->
|
||
|
||
<script>
|
||
$(document).ready(function () {
|
||
window.buildTabsets("TOC");
|
||
});
|
||
|
||
$(document).ready(function () {
|
||
$('.tabset-dropdown > .nav-tabs > li').click(function () {
|
||
$(this).parent().toggleClass('nav-tabs-open');
|
||
});
|
||
});
|
||
</script>
|
||
|
||
<!-- code folding -->
|
||
|
||
<script>
|
||
$(document).ready(function () {
|
||
|
||
// temporarily add toc-ignore selector to headers for the consistency with Pandoc
|
||
$('.unlisted.unnumbered').addClass('toc-ignore')
|
||
|
||
// move toc-ignore selectors from section div to header
|
||
$('div.section.toc-ignore')
|
||
.removeClass('toc-ignore')
|
||
.children('h1,h2,h3,h4,h5').addClass('toc-ignore');
|
||
|
||
// establish options
|
||
var options = {
|
||
selectors: "h1,h2,h3",
|
||
theme: "bootstrap3",
|
||
context: '.toc-content',
|
||
hashGenerator: function (text) {
|
||
return text.replace(/[.\\/?&!#<>]/g, '').replace(/\s/g, '_');
|
||
},
|
||
ignoreSelector: ".toc-ignore",
|
||
scrollTo: 0
|
||
};
|
||
options.showAndHide = false;
|
||
options.smoothScroll = false;
|
||
|
||
// tocify
|
||
var toc = $("#TOC").tocify(options).data("toc-tocify");
|
||
});
|
||
</script>
|
||
|
||
<!-- dynamically load mathjax for compatibility with self-contained -->
|
||
<script>
|
||
(function () {
|
||
var script = document.createElement("script");
|
||
script.type = "text/javascript";
|
||
script.src = "https://mathjax.rstudio.com/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML";
|
||
document.getElementsByTagName("head")[0].appendChild(script);
|
||
})();
|
||
</script>
|
||
|
||
</body>
|
||
</html>
|