Contribute
Register

How to build your own iMac Pro [Successful Build/Extended Guide]

Status
Not open for further replies.
It's awesome to know that the ASUS card works, something to look into. I hope that Apple implements Intel's RST and/or vROC when creating the new Mac Pro, so that we could get these speeds at drives that are accessible from multiple OS'es. I constantly switch between Windows and Mac, and having my main storage locked up in OS-specific implementation is not acceptable.

I just shared my current setup, BUT note that the Thunderbolt port still doesn't work, and I'm stuck until somebody will be willing to help. I'm likely not going to be implementing SLI - just dual graphics cards, and most likely different ones until I can afford 2x 1180 Ti. Right now I haven't implemented the GPUs at all - I already bricked my system once with NVidea, so I'll wait until Nvidia releases a driver update. ATI is working out of the box pretty well. What are you going to use SLI for?
It's awesome to know that the ASUS card works, something to look into. I hope that Apple implements Intel's RST and/or vROC when creating the new Mac Pro, so that we could get these speeds at drives that are accessible from multiple OS'es. I constantly switch between Windows and Mac, and having my main storage locked up in OS-specific implementation is not acceptable.

I just shared my current setup, BUT note that the Thunderbolt port still doesn't work, and I'm stuck until somebody will be willing to help. I'm likely not going to be implementing SLI - just dual graphics cards, and most likely different ones until I can afford 2x 1180 Ti. Right now I haven't implemented the GPUs at all - I already bricked my system once with NVidea, so I'll wait until Nvidia releases a driver update. ATI is working out of the box pretty well. What are you going to use SLI for?

Hello @4min I have already seen your SSDT Slot-6, I will check it and if I make it work I will share it in the forum. The SLI is already configured in Windows and works in OpenGL and DirectX. Above all I want it for Premiere and After Fx, I still have to do performance tests in Premiere Windows since it seems that OSX does not fully accept the SLI, in OSX I was able to get 20% more performance with the second card, but I'm going blindly because my knowledge about SSDT's programming is null, I'm copying here ... pasting there ... At the moment I'm going to make comparisons of Premiere-After performance in windows and then I'll try to get similar results in OSX, complicated ... I attached a few captures of Heaven in which I achieved an extra performance of 70-75% with the second card, greetings.
 

Attachments

  • IMG_4756.jpg
    IMG_4756.jpg
    4.1 MB · Views: 99
  • IMG_4757.jpg
    IMG_4757.jpg
    3.6 MB · Views: 96
Use my system SSDT for the Sapphire Nitro+ Vega 64..

Thanks @KPG. Though I've run a hack for 5 or 6 years now (this is my 3rd) I have never played around with DSDTs or SSDTs. Seems like the right time to get into but I am hitting my head against a wall. Could someone please give me a few pointers as to how to adapt this SSDT to my board (gigabyte x299 ultra gaming). Here is the ioreg from my system with no SSDT patches.

DisplayPorton the Vega 64 works with whatevergreen which surprised as I didn't think this kext would do much for the Vega cards. Fan control is pretty erratic though and HWMonitor isn't able to pull up the correct temps even with the gpusensors.kext so it's hard to judge what is really going on. It's better in Mojave as the fans do actually stop when idle but will then spin up for no meaningful demand on the card. Right not with just this forum page open they have decided to get going.

Thanks in advance. I have tried to do my homework on SSDTs but have not gotten as far as I had hoped.
 

Attachments

  • iMac Pro ioreg gigabyte ultra gaming.ioreg
    13.2 MB · Views: 90
What worked for me, and the only solution I found was to add ALL external USB drives to Spotlight Privacy tab so it doesn't get indexed. I stopped having this issue after I did that.

You can't search the external USB drives anymore with Spotlight, but you can use something like EasyFind to search it and it works well.

I'm not knowledgeable enough to fix this issue, but I have tried various USB inject methods and none of them fixed it so I went back to the one I was using previously (a custom USB kext).

Also personally I haven't tested an external USB SSD, only external Hard Drives. I get a lot of them here, sometimes G-Raid, Lacie, Western Digital, etc etc. All HDDs had the same issues for me, but the Spotlight workaround fixed it for me.

Losing Spotlight on external drives is not a big deal for me, I have external HDDs connected all the time and leave them in there for weeks to sometimes months, and I would get that error after a while.

This never happened to me on a real Mac.



It's odd it didn't work for you. Are you sure you added ALL external USB drives? Including Flash drives? (I haven't tested or noticed this issue on Flash drives, can't confirm).

The Spotlight workaround works perfect for me even after restarts. My machine's been on for weeks and drives connected for weeks. I come back and click on the drive and it "wakes up" fine and no eject issues. If I want to keep the drive running forever with no sleep (ie you come back even after a day, it will be instantly available) I use Keep Drive Spinning and it works wonderfully. Its a simple script and I sometimes use it.

It's definitely related to something with the USB injection, but I haven't figured it out yet (or I just gave up haha). My Gigabyte BIOS isn't as deep as an Asus board, so I don't see an "Internal CPU PLL Overvoltage" anywhere in the Designare EX.



Thank you for keeping track of this, I know we both had trouble. I think I have given up and learned to live with it. I put the 2 antennas outside of the case and as far as possible from the rear of the computer which has a lot of USB 3.0 drives connected so there's less interference. (I'll post a pic soon).

For now, I have removed the kexts for the Broadcom chip that's on the Designare EX and I am using an older OSXWifi card from a couple of years ago. I had recently ordered the OSXWifi BT 4.1 module but returned it (Not sure if you remember this)...it didn't really help a lot maybe by 10%.

I also am sticking with OSXWifi for now because I'll probably get the space gray Apple wireless keyboard so I need to have it available during BIOS too (which the onboard modded module wouldn't allow).

Surprisingly those small USB adapters work well, but the range is pretty average, so that's why I stopped using it. I have one hanging around but I remember I didn't have audio stutters with those, just the range was bad.

Maybe use a USB cable extension and tuck the USB adapter underneath your monitor? Or somewhere closer to your headphone so you have less interference since they don't have larger antennas.

As far as Windows, with the limited amount of time I use it nowadays (last time I booted into it was more than a month ago) the OSXWifi card seems to work OK as long as you extract the drivers from a Bootcamp installer....and then it works ok. I don't remember if I had similar stuttering issues with those.

This is all related to interference/bad shielding coupled with USB injector in macOS I think. If you remember, I posted a whitepaper about USB interference. Real Macs and even real PCs have good shielding on the BT/Wifi modules all around, so maybe that will be the best solution possible.

Just catching up this conversation...Another option that works perfectly for me is to use a little app called "SafeSleeepUSB".
Free and Open Source/GNU license. You're welcome ;)
 

Attachments

  • SafeSleepUSBv1.1.zip
    79.4 KB · Views: 92
Thanks @KPG. Though I've run a hack for 5 or 6 years now (this is my 3rd) I have never played around with DSDTs or SSDTs. Seems like the right time to get into but I am hitting my head against a wall. Could someone please give me a few pointers as to how to adapt this SSDT to my board (gigabyte x299 ultra gaming). Here is the ioreg from my system with no SSDT patches.

DisplayPorton the Vega 64 works with whatevergreen which surprised as I didn't think this kext would do much for the Vega cards. Fan control is pretty erratic though and HWMonitor isn't able to pull up the correct temps even with the gpusensors.kext so it's hard to judge what is really going on. It's better in Mojave as the fans do actually stop when idle but will then spin up for no meaningful demand on the card. Right not with just this forum page open they have decided to get going.

Thanks in advance. I have tried to do my homework on SSDTs but have not gotten as far as I had hoped.

I hope you will be able to understand that I cannot effort to build SSDTs for each single user...

A few pointers for sure you might find in post #4806, which is anyway also linked within my guide.

Good luck, man!

KGP
 
Hey @kgp. I think I followed you graphics card guide to the letter. Can you take a quick look at my prev post and check if my config is valid?
 
I hope you will be able to understand that I cannot effort to build SSDTs for each single user...

A few pointers for sure you might find in post #4806, which is anyway also linked within my guide.

Good luck, man!

KGP

Of course - thank you.

Will try wrap my head around it again and hopefully get everything working perfectly. It is so close.
 
  • Like
Reactions: kgp
Hey @kgp. I think I followed you graphics card guide to the letter. Can you take a quick look at my prev post and check if my config is valid?

Graphics configurations is valid.

Removed some unused stuff from System SSDT.. Upgraded to Clover_v2.4k_r4644..

Could not check TB-SSDT due to missing IOREG.save...

Good luck,

KGP
 

Attachments

  • panell.zip
    17.4 MB · Views: 167
Are you aware that there is a "Synology" RAID Clone forum and an entire group dedicated to creating an "open systems" version of the synology (RAID) software? Essentially, you can "build" your own Synology clone RAID.........https://xpenology.com/forum/topic/9392-general-faq/. Depending on the drives you use for your RAID, your throughput can approach a real Synology RAID (which is one of the very best)......
Oh wow, I've never heard about it, great project! I actually already have a couple of G-Raids and a Qnap, so as long as I can make the Thunderbolt port to work I should be fine with external storage. Still, I'd prefer to have 15-20 TB of internal storage as well, so that I can store my entire project and not deal with network latency or external devices.
I've looked into a few SATA/RAID cards, most of the inexpensive ones come with PCIE 2.0 x1 connection and 4 SATA ports with no built-in RAID controller. Has anyone tried this kind of solution? I wonder what a realistic speed would be with this kind of RAID volume, and what the overhead on the CPU ends up being.
 
Thanks @4min. BTW How did you get these values?
Basically you need to organize them so that the cores that you actually have come before the ones that you don't have. So when you see in IOREG the PR0-PR27 would end up being valid cores, and the 28-55 would be the dummy ones. I just took the hexadecimal values that were present, sorted them and re-assigned.
If there's demand I can create the table for other CPUs as well, I'll just need a screenshot from IOREG. I think this thread already has layout from @kgp for 8-core and possibly 10 core.
 
  • Like
Reactions: kgp
Basically you need to organize them so that the cores that you actually have come before the ones that you don't have. So when you see in IOREG the PR0-PR27 would end up being valid cores, and the 28-55 would be the dummy ones. I just took the hexadecimal values that were present, sorted them and re-assigned.
If there's demand I can create the table for other CPUs as well, I'll just need a screenshot from IOREG. I think this thread already has layout from @kgp for 8-core and possibly 10 core.

Don't forget that also the 18 core CPxx->PRxx ACPI replacements are hardwired in the config.plist of my EFI-Folder distribution.

I propose to collect/post config.plist CPxx->PRxx text snippets also for 8, 10, 12 14, 16 core Skylake-X processors, which I can subsequently link in my guide.

One then just needs to edit the config.plist with TextEdit.app and replace or add the CPxx->PRxx ACPI replacements under

<key>Name</key>
<string>DSDT.aml</string>
<key>Patches</key>
<array>
.....
.....
<array>

Here is the 18 core config.plist CPxx->PRxx text snippet:

Code:
                   <dict>
                    <key>Comment</key>
                    <string>CP00 -&gt; PR00</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AwMA==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFIwMA==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP01 -&gt; PR01</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AwMQ==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFIwMQ==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP02 -&gt; PR02</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AwMg==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFIwMg==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP03 -&gt; PR03</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AwMw==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFIwMw==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP04 -&gt; PR04</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AwNA==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFIwNA==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP05 -&gt; PR05</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AwNQ==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFIwNQ==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP06 -&gt; PR06</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AwNg==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFIwNg==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP07 -&gt; PR07</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AwNw==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFIwNw==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP08 -&gt; PR08</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AwOA==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFIwOA==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP09 -&gt; PR09</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AwOQ==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFIwOQ==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP0E -&gt; PR10</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AwRQ==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFIxMA==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP0F -&gt; PR11</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AwRg==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFIxMQ==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP10 -&gt; PR12</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AxMA==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFIxMg==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP11 -&gt; PR13</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AxMQ==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFIxMw==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP12 -&gt; PR14</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AxMg==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFIxNA==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP13 -&gt; PR15</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AxMw==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFIxNQ==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP14 -&gt; PR16</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AxNA==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFIxNg==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP15 -&gt; PR17</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AxNQ==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFIxNw==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP1C -&gt; PR18</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AxQw==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFIxOA==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP1D -&gt; PR19</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AxRA==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFIxOQ==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP1E -&gt; PR20</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AxRQ==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFIyMA==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP1F -&gt; PR21</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AxRg==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFIyMQ==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP20 -&gt; PR22</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AyMA==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFIyMg==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP21 -&gt; PR23</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AyMQ==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFIyMw==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP22 -&gt; PR24</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AyMg==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFIyNA==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP23 -&gt;PR25</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AyMw==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFIyNQ==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP24 -&gt; PR26</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AyNA==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFIyNg==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP25 -&gt; PR27</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AyNQ==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFIyNw==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP2A -&gt; PR28</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AyQQ==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFIyOA==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP2B -&gt; PR29</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AyQg==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFIyOQ==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP2C -&gt; PR30</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AyQw==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFIzMA==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP2D -&gt; PR31</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AyRA==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFIzMQ==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP2E -&gt; PR32</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AyRQ==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFIzMg==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP2F -&gt; PR33</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AyRg==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFIzMw==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP30 -&gt; PR34</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AzMA==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFIzNA==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP31 -&gt; PR35</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AzMQ==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFIzNQ==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP0A -&gt; PR36</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AwQQ==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFIzNg==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP0B -&gt; PR37</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AwQg==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFIzNw==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP0C -&gt; PR38</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AwQw==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFIzOA==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP0D -&gt; PR39</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AwRA==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFIzOQ==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP16 -&gt; PR40</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AxNg==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFI0MA==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP17 -&gt; PR41</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AxNw==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFI0MQ==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP18 -&gt; PR42</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AxOA==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFI0Mg==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP19 -&gt; PR43</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AxOQ==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFI0Mw==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP1A -&gt; PR44</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AxQQ==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFI0NA==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP1B -&gt; PR45</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AxQg==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFI0NQ==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP26 -&gt; PR46</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AyNg==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFI0Ng==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP27 -&gt; PR47</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AyNw==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFI0Nw==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP28 -&gt; PR48</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AyOA==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFI0OA==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP29 -&gt; PR49</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AyOQ==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFI0OQ==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP32 -&gt; PR50</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AzMg==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFI1MA==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP33 -&gt; PR51</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AzMw==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFI1MQ==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP34 -&gt; PR52</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AzNA==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFI1Mg==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP35 -&gt; PR53</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AzNQ==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFI1Mw==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP36 -&gt; PR54</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AzNg==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFI1NA==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP37 -&gt; PR55</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AzNw==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFI1NQ==
                    </data>
                </dict>
 
Status
Not open for further replies.
Back
Top