diff --git a/HelloGoodbyeBETA.app/Contents/Frameworks/libswiftAppKit.dylib b/HelloGoodbyeBETA.app/Contents/Frameworks/libswiftAppKit.dylib
new file mode 100755
index 00000000..bdebd04e
Binary files /dev/null and b/HelloGoodbyeBETA.app/Contents/Frameworks/libswiftAppKit.dylib differ
diff --git a/HelloGoodbyeBETA.app/Contents/Frameworks/libswiftCore.dylib b/HelloGoodbyeBETA.app/Contents/Frameworks/libswiftCore.dylib
new file mode 100755
index 00000000..df15de8e
Binary files /dev/null and b/HelloGoodbyeBETA.app/Contents/Frameworks/libswiftCore.dylib differ
diff --git a/HelloGoodbyeBETA.app/Contents/Frameworks/libswiftCoreData.dylib b/HelloGoodbyeBETA.app/Contents/Frameworks/libswiftCoreData.dylib
new file mode 100755
index 00000000..d28ad18a
Binary files /dev/null and b/HelloGoodbyeBETA.app/Contents/Frameworks/libswiftCoreData.dylib differ
diff --git a/HelloGoodbyeBETA.app/Contents/Frameworks/libswiftCoreFoundation.dylib b/HelloGoodbyeBETA.app/Contents/Frameworks/libswiftCoreFoundation.dylib
new file mode 100755
index 00000000..f83764dc
Binary files /dev/null and b/HelloGoodbyeBETA.app/Contents/Frameworks/libswiftCoreFoundation.dylib differ
diff --git a/HelloGoodbyeBETA.app/Contents/Frameworks/libswiftCoreGraphics.dylib b/HelloGoodbyeBETA.app/Contents/Frameworks/libswiftCoreGraphics.dylib
new file mode 100755
index 00000000..b48625c8
Binary files /dev/null and b/HelloGoodbyeBETA.app/Contents/Frameworks/libswiftCoreGraphics.dylib differ
diff --git a/HelloGoodbyeBETA.app/Contents/Frameworks/libswiftCoreImage.dylib b/HelloGoodbyeBETA.app/Contents/Frameworks/libswiftCoreImage.dylib
new file mode 100755
index 00000000..50f1a328
Binary files /dev/null and b/HelloGoodbyeBETA.app/Contents/Frameworks/libswiftCoreImage.dylib differ
diff --git a/HelloGoodbyeBETA.app/Contents/Frameworks/libswiftDarwin.dylib b/HelloGoodbyeBETA.app/Contents/Frameworks/libswiftDarwin.dylib
new file mode 100755
index 00000000..b6d85794
Binary files /dev/null and b/HelloGoodbyeBETA.app/Contents/Frameworks/libswiftDarwin.dylib differ
diff --git a/HelloGoodbyeBETA.app/Contents/Frameworks/libswiftDispatch.dylib b/HelloGoodbyeBETA.app/Contents/Frameworks/libswiftDispatch.dylib
new file mode 100755
index 00000000..b1f42439
Binary files /dev/null and b/HelloGoodbyeBETA.app/Contents/Frameworks/libswiftDispatch.dylib differ
diff --git a/HelloGoodbyeBETA.app/Contents/Frameworks/libswiftFoundation.dylib b/HelloGoodbyeBETA.app/Contents/Frameworks/libswiftFoundation.dylib
new file mode 100755
index 00000000..4e3bc633
Binary files /dev/null and b/HelloGoodbyeBETA.app/Contents/Frameworks/libswiftFoundation.dylib differ
diff --git a/HelloGoodbyeBETA.app/Contents/Frameworks/libswiftIOKit.dylib b/HelloGoodbyeBETA.app/Contents/Frameworks/libswiftIOKit.dylib
new file mode 100755
index 00000000..98fb44de
Binary files /dev/null and b/HelloGoodbyeBETA.app/Contents/Frameworks/libswiftIOKit.dylib differ
diff --git a/HelloGoodbyeBETA.app/Contents/Frameworks/libswiftMetal.dylib b/HelloGoodbyeBETA.app/Contents/Frameworks/libswiftMetal.dylib
new file mode 100755
index 00000000..0fd3e6f7
Binary files /dev/null and b/HelloGoodbyeBETA.app/Contents/Frameworks/libswiftMetal.dylib differ
diff --git a/HelloGoodbyeBETA.app/Contents/Frameworks/libswiftObjectiveC.dylib b/HelloGoodbyeBETA.app/Contents/Frameworks/libswiftObjectiveC.dylib
new file mode 100755
index 00000000..5f16f437
Binary files /dev/null and b/HelloGoodbyeBETA.app/Contents/Frameworks/libswiftObjectiveC.dylib differ
diff --git a/HelloGoodbyeBETA.app/Contents/Frameworks/libswiftQuartzCore.dylib b/HelloGoodbyeBETA.app/Contents/Frameworks/libswiftQuartzCore.dylib
new file mode 100755
index 00000000..cecd265b
Binary files /dev/null and b/HelloGoodbyeBETA.app/Contents/Frameworks/libswiftQuartzCore.dylib differ
diff --git a/HelloGoodbyeBETA.app/Contents/Frameworks/libswiftSafariServices.dylib b/HelloGoodbyeBETA.app/Contents/Frameworks/libswiftSafariServices.dylib
new file mode 100755
index 00000000..f4feaaa2
Binary files /dev/null and b/HelloGoodbyeBETA.app/Contents/Frameworks/libswiftSafariServices.dylib differ
diff --git a/HelloGoodbyeBETA.app/Contents/Frameworks/libswiftXPC.dylib b/HelloGoodbyeBETA.app/Contents/Frameworks/libswiftXPC.dylib
new file mode 100755
index 00000000..71a39b9e
Binary files /dev/null and b/HelloGoodbyeBETA.app/Contents/Frameworks/libswiftXPC.dylib differ
diff --git a/HelloGoodbyeBETA.app/Contents/Frameworks/libswiftos.dylib b/HelloGoodbyeBETA.app/Contents/Frameworks/libswiftos.dylib
new file mode 100755
index 00000000..568aff90
Binary files /dev/null and b/HelloGoodbyeBETA.app/Contents/Frameworks/libswiftos.dylib differ
diff --git a/HelloGoodbyeBETA.app/Contents/Info.plist b/HelloGoodbyeBETA.app/Contents/Info.plist
new file mode 100644
index 00000000..3c543d7d
--- /dev/null
+++ b/HelloGoodbyeBETA.app/Contents/Info.plist
@@ -0,0 +1,56 @@
+
+
+
+
+ BuildMachineOSBuild
+ 18E226
+ CFBundleDevelopmentRegion
+ en
+ CFBundleExecutable
+ HelloGoodbye
+ CFBundleIconFile
+ AppIcon
+ CFBundleIconName
+ AppIcon
+ CFBundleIdentifier
+ hulverscheidtdirk.HelloGoodbye
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundleName
+ HelloGoodbye
+ CFBundlePackageType
+ APPL
+ CFBundleShortVersionString
+ 1.0
+ CFBundleSupportedPlatforms
+
+ MacOSX
+
+ CFBundleVersion
+ 2
+ DTCompiler
+ com.apple.compilers.llvm.clang.1_0
+ DTPlatformBuild
+ 10E125
+ DTPlatformVersion
+ GM
+ DTSDKBuild
+ 18E219
+ DTSDKName
+ macosx10.14
+ DTXcode
+ 1020
+ DTXcodeBuild
+ 10E125
+ LSApplicationCategoryType
+ public.app-category.productivity
+ LSMinimumSystemVersion
+ 10.14
+ NSHumanReadableCopyright
+ Copyright © 2019 Dirk Hulverscheidt. All rights reserved.
+ NSMainStoryboardFile
+ Main
+ NSPrincipalClass
+ NSApplication
+
+
diff --git a/HelloGoodbyeBETA.app/Contents/MacOS/HelloGoodbye b/HelloGoodbyeBETA.app/Contents/MacOS/HelloGoodbye
new file mode 100755
index 00000000..c27cc35f
Binary files /dev/null and b/HelloGoodbyeBETA.app/Contents/MacOS/HelloGoodbye differ
diff --git a/HelloGoodbyeBETA.app/Contents/PkgInfo b/HelloGoodbyeBETA.app/Contents/PkgInfo
new file mode 100644
index 00000000..bd04210f
--- /dev/null
+++ b/HelloGoodbyeBETA.app/Contents/PkgInfo
@@ -0,0 +1 @@
+APPL????
\ No newline at end of file
diff --git a/HelloGoodbyeBETA.app/Contents/PlugIns/BlockerExtension.appex/Contents/Info.plist b/HelloGoodbyeBETA.app/Contents/PlugIns/BlockerExtension.appex/Contents/Info.plist
new file mode 100644
index 00000000..15a37838
--- /dev/null
+++ b/HelloGoodbyeBETA.app/Contents/PlugIns/BlockerExtension.appex/Contents/Info.plist
@@ -0,0 +1,59 @@
+
+
+
+
+ BuildMachineOSBuild
+ 18E226
+ CFBundleDevelopmentRegion
+ en
+ CFBundleDisplayName
+ Hello, Goodbye
+ CFBundleExecutable
+ BlockerExtension
+ CFBundleIconFile
+ AppIcon
+ CFBundleIdentifier
+ hulverscheidtdirk.HelloGoodbye.BlockerExtension
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundleName
+ BlockerExtension
+ CFBundlePackageType
+ XPC!
+ CFBundleShortVersionString
+ 1.0
+ CFBundleSupportedPlatforms
+
+ MacOSX
+
+ CFBundleVersion
+ 1
+ DTCompiler
+ com.apple.compilers.llvm.clang.1_0
+ DTPlatformBuild
+ 10E125
+ DTPlatformVersion
+ GM
+ DTSDKBuild
+ 18E219
+ DTSDKName
+ macosx10.14
+ DTXcode
+ 1020
+ DTXcodeBuild
+ 10E125
+ LSMinimumSystemVersion
+ 10.14
+ NSExtension
+
+ NSExtensionPointIdentifier
+ com.apple.Safari.content-blocker
+ NSExtensionPrincipalClass
+ BlockerExtension.ContentBlockerRequestHandler
+
+ NSHumanReadableCopyright
+ Copyright © 2019 Dirk Hulverscheidt. All rights reserved.
+ NSHumanReadableDescription
+ This extension blocks annoying chat widgets.
+
+
diff --git a/HelloGoodbyeBETA.app/Contents/PlugIns/BlockerExtension.appex/Contents/MacOS/BlockerExtension b/HelloGoodbyeBETA.app/Contents/PlugIns/BlockerExtension.appex/Contents/MacOS/BlockerExtension
new file mode 100755
index 00000000..6591d278
Binary files /dev/null and b/HelloGoodbyeBETA.app/Contents/PlugIns/BlockerExtension.appex/Contents/MacOS/BlockerExtension differ
diff --git a/HelloGoodbyeBETA.app/Contents/PlugIns/BlockerExtension.appex/Contents/Resources/AppIcon.icns b/HelloGoodbyeBETA.app/Contents/PlugIns/BlockerExtension.appex/Contents/Resources/AppIcon.icns
new file mode 100644
index 00000000..56371c9a
Binary files /dev/null and b/HelloGoodbyeBETA.app/Contents/PlugIns/BlockerExtension.appex/Contents/Resources/AppIcon.icns differ
diff --git a/HelloGoodbyeBETA.app/Contents/PlugIns/BlockerExtension.appex/Contents/Resources/backupList.json b/HelloGoodbyeBETA.app/Contents/PlugIns/BlockerExtension.appex/Contents/Resources/backupList.json
new file mode 100644
index 00000000..a755401b
--- /dev/null
+++ b/HelloGoodbyeBETA.app/Contents/PlugIns/BlockerExtension.appex/Contents/Resources/backupList.json
@@ -0,0 +1,210 @@
+[
+ {
+ "action": {
+ "type": "block"
+ },
+ "trigger": {
+ "url-filter": "^[^:]+://+([^:/]+\.)?widget\.intercom\.io[:/]"
+ }
+ },
+ {
+ "action": {
+ "type": "block"
+ },
+ "trigger": {
+ "url-filter": "connect\.facebook\.net/en_US/sdk/xfbml\.customerchat\.js",
+ "resource-type": ["script"]
+ }
+ },
+ {
+ "action": {
+ "type": "block"
+ },
+ "trigger": {
+ "url-filter": "assets\.producthunt\.com/assets/upwigloader\.js",
+ "resource-type": ["script"]
+ }
+ },
+ {
+ "action": {
+ "type": "block"
+ },
+ "trigger": {
+ "url-filter": "js\.driftt\.com/include/.",
+ "resource-type": ["script"]
+ }
+ },
+ {
+ "action": {
+ "type": "block"
+ },
+ "trigger": {
+ "url-filter": "^(http|https)://.\.crisp\.chat/.",
+ "resource-type": ["script"]
+ }
+ },
+ {
+ "action": {
+ "type": "block"
+ },
+ "trigger": {
+ "url-filter": ".\.intergram\.xyz/js/.",
+ "resource-type": ["script"]
+ }
+ },
+ {
+ "action": {
+ "type": "block"
+ },
+ "trigger": {
+ "url-filter": "widget\.mfy\.im/.",
+ "resource-type": ["script"]
+ }
+ },
+ {
+ "action": {
+ "type": "block"
+ },
+ "trigger": {
+ "url-filter": "connect\.podium\.com/.",
+ "resource-type": ["script"]
+ }
+ },
+ {
+ "action": {
+ "type": "block"
+ },
+ "trigger": {
+ "url-filter": "js\.usemessages\.com/.",
+ "resource-type": ["script"]
+ }
+ },
+ {
+ "action": {
+ "type": "block"
+ },
+ "trigger": {
+ "url-filter": "static\.getchipbot\.com/.",
+ "resource-type": ["script"]
+ }
+ },
+ {
+ "action": {
+ "type": "block"
+ },
+ "trigger": {
+ "url-filter": "static\.zdassets\.com/ekr/.",
+ "resource-type": ["script"]
+ }
+ },
+ {
+ "action": {
+ "type": "block"
+ },
+ "trigger": {
+ "url-filter": "www\.couchbase\.com/webfiles/1552355627964/js/contact-popup-form\.js",
+ "resource-type": ["script"]
+ }
+ },
+ {
+ "action": {
+ "type": "block"
+ },
+ "trigger": {
+ "url-filter": "assetscdn-wchat\.freshchat\.com/.",
+ "resource-type": ["script"]
+ }
+ },
+ {
+ "action": {
+ "type": "block"
+ },
+ "trigger": {
+ "url-filter": "wchat\.freshchat\.com/.",
+ "resource-type": ["script"]
+ }
+ },
+ {
+ "action": {
+ "type": "block"
+ },
+ "trigger": {
+ "url-filter": "code\.jivosite\.com/script/widget/.",
+ "resource-type": ["script"]
+ }
+ },
+ {
+ "action": {
+ "type": "block"
+ },
+ "trigger": {
+ "url-filter": "code\.tidio\.co/.",
+ "resource-type": ["script"]
+ }
+ },
+ {
+ "action": {
+ "type": "block"
+ },
+ "trigger": {
+ "url-filter": ".\.user\.com/static/js/.",
+ "resource-type": ["script"]
+ }
+ },
+ {
+ "action": {
+ "type": "block"
+ "url-filter": ".*"
+ },
+ "trigger": {
+ "url-filter": "secure\.livechatinc\.com/.",
+ "resource-type": ["script"]
+ }
+ },
+ {
+ "action": {
+ "type": "block"
+ },
+ "trigger": {
+ "url-filter": "justanswer\.com/revizely/2/core/ja-com\.js",
+ "resource-type": ["script"]
+ }
+ },
+ {
+ "action": {
+ "type": "block"
+ },
+ "trigger": {
+ "url-filter": "code\.snapengage\.com/.",
+ "resource-type": ["script"]
+ }
+ },
+ {
+ "action": {
+ "type": "block"
+ },
+ "trigger": {
+ "url-filter": "sdk\.inbenta\.io/chatbot/.",
+ "resource-type": ["script"]
+ }
+ },
+ {
+ "action": {
+ "type": "block"
+ },
+ "trigger": {
+ "url-filter": "pi2\.movoto\.com/1\.7\.654/javascripts/desktop/movoto\.min\.js",
+ "resource-type": ["script"]
+ }
+ },
+ {
+ "action": {
+ "type": "block"
+ },
+ "trigger": {
+ "url-filter": ".\.zopim\.com/.",
+ "resource-type": ["script"]
+ }
+ },
+ }
+]
diff --git a/HelloGoodbyeBETA.app/Contents/PlugIns/BlockerExtension.appex/Contents/Resources/blockerList.json b/HelloGoodbyeBETA.app/Contents/PlugIns/BlockerExtension.appex/Contents/Resources/blockerList.json
new file mode 100644
index 00000000..fba2e709
--- /dev/null
+++ b/HelloGoodbyeBETA.app/Contents/PlugIns/BlockerExtension.appex/Contents/Resources/blockerList.json
@@ -0,0 +1,173 @@
+[
+ {
+ "trigger": {
+ "url-filter": "widget.intercom.io",
+ "resource-type": ["script"]
+ },
+ "action": {
+ "type": "block"
+ }
+ },
+ {
+ "trigger": {
+ "url-filter": "js.driftt.com",
+ "resource-type": ["script"]
+ },
+ "action": {
+ "type": "block"
+ }
+ },
+ {
+ "trigger": {
+ "url-filter": "crisp.chat",
+ "resource-type": ["script"]
+ },
+ "action": {
+ "type": "block"
+ }
+ },
+ {
+ "trigger": {
+ "url-filter": "intergram.xyz",
+ "resource-type": ["script"]
+ },
+ "action": {
+ "type": "block"
+ }
+ },
+ {
+ "trigger": {
+ "url-filter": "widget.mfy.im",
+ "resource-type": ["script"]
+ },
+ "action": {
+ "type": "block"
+ }
+ },
+ {
+ "trigger": {
+ "url-filter": "static.getchipbot.com",
+ "resource-type": ["script"]
+ },
+ "action": {
+ "type": "block"
+ }
+ },
+ {
+ "trigger": {
+ "url-filter": "static.zdassets.com/ekr/snippet.js",
+ "resource-type": ["script"]
+ },
+ "action": {
+ "type": "block"
+ }
+ },
+ {
+ "trigger": {
+ "url-filter": "assetscdn-wchat.freshchat.com",
+ "resource-type": ["script"]
+ },
+ "action": {
+ "type": "block"
+ }
+ },
+ {
+ "trigger": {
+ "url-filter": "wchat.freshchat.com",
+ "resource-type": ["script"]
+ },
+ "action": {
+ "type": "block"
+ }
+ },
+ {
+ "trigger": {
+ "url-filter": "code.jivosite.com/script/widget/",
+ "resource-type": ["script"]
+ },
+ "action": {
+ "type": "block"
+ }
+ },
+ {
+ "trigger": {
+ "url-filter": "code.tidio.co",
+ "resource-type": ["script"]
+ },
+ "action": {
+ "type": "block"
+ }
+ },
+ {
+ "trigger": {
+ "url-filter": "user.com/static/js/",
+ "resource-type": ["script"]
+ },
+ "action": {
+ "type": "block"
+ }
+ },
+ {
+ "trigger": {
+ "url-filter": "secure.livechatinc.com",
+ "resource-type": ["script"]
+ },
+ "action": {
+ "type": "block"
+ }
+ },
+ {
+ "trigger": {
+ "url-filter": "sdk.inbenta.io/chatbot",
+ "resource-type": ["script"]
+ },
+ "action": {
+ "type": "block"
+ }
+ },
+ {
+ "trigger": {
+ "url-filter": "code.snapengage.com",
+ "resource-type": ["script"]
+ },
+ "action": {
+ "type": "block"
+ }
+ },
+ {
+ "trigger": {
+ "url-filter": "pi2.movoto.com",
+ "resource-type": ["script"]
+ },
+ "action": {
+ "type": "block"
+ }
+ },
+ {
+ "trigger": {
+ "url-filter": "zopim.com",
+ "resource-type": ["script"]
+ },
+ "action": {
+ "type": "block"
+ }
+ },
+ {
+ "trigger": {
+ "url-filter": "cdn.gubagoo.io",
+ "resource-type": ["script"]
+ },
+ "action": {
+ "type": "block"
+ }
+ },
+ {
+ "trigger": {
+ "url-filter": "leadconnect.ipmaxi.se",
+ "resource-type": ["script"]
+ },
+ "action": {
+ "type": "block"
+ }
+ }
+]
diff --git a/HelloGoodbyeBETA.app/Contents/PlugIns/BlockerExtension.appex/Contents/_CodeSignature/CodeResources b/HelloGoodbyeBETA.app/Contents/PlugIns/BlockerExtension.appex/Contents/_CodeSignature/CodeResources
new file mode 100644
index 00000000..c1f41744
--- /dev/null
+++ b/HelloGoodbyeBETA.app/Contents/PlugIns/BlockerExtension.appex/Contents/_CodeSignature/CodeResources
@@ -0,0 +1,150 @@
+
+
+
+
+ files
+
+ Resources/AppIcon.icns
+
+ GCLEuPF/frCuRnsse7zwJyIOYNY=
+
+ Resources/backupList.json
+
+ 75CyUkQWsth62Op7CRr5ZVlfDvQ=
+
+ Resources/blockerList.json
+
+ G2LvbfMh2TAJPzlx1sDKhkZNkV4=
+
+
+ files2
+
+ Resources/AppIcon.icns
+
+ hash2
+
+ cM03ukcZD823X6jxdrN2izVMO8x+T72Xrxc21gXgUnM=
+
+
+ Resources/backupList.json
+
+ hash2
+
+ 0Lcjr+gYmDJrVYiEiGme48RUcbjNfmyEg4aoQ6X9BnQ=
+
+
+ Resources/blockerList.json
+
+ hash2
+
+ FghGrG4fl6c6ipMxnaYGrLCyHttu5IBTw0HRYmqEwpY=
+
+
+
+ rules
+
+ ^Resources/
+
+ ^Resources/.*\.lproj/
+
+ optional
+
+ weight
+ 1000
+
+ ^Resources/.*\.lproj/locversion.plist$
+
+ omit
+
+ weight
+ 1100
+
+ ^Resources/Base\.lproj/
+
+ weight
+ 1010
+
+ ^version.plist$
+
+
+ rules2
+
+ .*\.dSYM($|/)
+
+ weight
+ 11
+
+ ^(.*/)?\.DS_Store$
+
+ omit
+
+ weight
+ 2000
+
+ ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/
+
+ nested
+
+ weight
+ 10
+
+ ^.*
+
+ ^Info\.plist$
+
+ omit
+
+ weight
+ 20
+
+ ^PkgInfo$
+
+ omit
+
+ weight
+ 20
+
+ ^Resources/
+
+ weight
+ 20
+
+ ^Resources/.*\.lproj/
+
+ optional
+
+ weight
+ 1000
+
+ ^Resources/.*\.lproj/locversion.plist$
+
+ omit
+
+ weight
+ 1100
+
+ ^Resources/Base\.lproj/
+
+ weight
+ 1010
+
+ ^[^/]+$
+
+ nested
+
+ weight
+ 10
+
+ ^embedded\.provisionprofile$
+
+ weight
+ 20
+
+ ^version\.plist$
+
+ weight
+ 20
+
+
+
+
diff --git a/HelloGoodbyeBETA.app/Contents/Resources/AppIcon.icns b/HelloGoodbyeBETA.app/Contents/Resources/AppIcon.icns
new file mode 100644
index 00000000..afefae97
Binary files /dev/null and b/HelloGoodbyeBETA.app/Contents/Resources/AppIcon.icns differ
diff --git a/HelloGoodbyeBETA.app/Contents/Resources/Assets.car b/HelloGoodbyeBETA.app/Contents/Resources/Assets.car
new file mode 100644
index 00000000..e095a94a
Binary files /dev/null and b/HelloGoodbyeBETA.app/Contents/Resources/Assets.car differ
diff --git a/HelloGoodbyeBETA.app/Contents/Resources/Base.lproj/Main.storyboardc/Info.plist b/HelloGoodbyeBETA.app/Contents/Resources/Base.lproj/Main.storyboardc/Info.plist
new file mode 100644
index 00000000..1aed7aca
Binary files /dev/null and b/HelloGoodbyeBETA.app/Contents/Resources/Base.lproj/Main.storyboardc/Info.plist differ
diff --git a/HelloGoodbyeBETA.app/Contents/Resources/Base.lproj/Main.storyboardc/MainMenu.nib b/HelloGoodbyeBETA.app/Contents/Resources/Base.lproj/Main.storyboardc/MainMenu.nib
new file mode 100644
index 00000000..e8b9d581
Binary files /dev/null and b/HelloGoodbyeBETA.app/Contents/Resources/Base.lproj/Main.storyboardc/MainMenu.nib differ
diff --git a/HelloGoodbyeBETA.app/Contents/Resources/Base.lproj/Main.storyboardc/NSWindowController-B8D-0N-5wS.nib b/HelloGoodbyeBETA.app/Contents/Resources/Base.lproj/Main.storyboardc/NSWindowController-B8D-0N-5wS.nib
new file mode 100644
index 00000000..8408d8bb
Binary files /dev/null and b/HelloGoodbyeBETA.app/Contents/Resources/Base.lproj/Main.storyboardc/NSWindowController-B8D-0N-5wS.nib differ
diff --git a/HelloGoodbyeBETA.app/Contents/Resources/Base.lproj/Main.storyboardc/XfG-lQ-9wD-view-m2S-Jp-Qdl.nib b/HelloGoodbyeBETA.app/Contents/Resources/Base.lproj/Main.storyboardc/XfG-lQ-9wD-view-m2S-Jp-Qdl.nib
new file mode 100644
index 00000000..d44f62b5
Binary files /dev/null and b/HelloGoodbyeBETA.app/Contents/Resources/Base.lproj/Main.storyboardc/XfG-lQ-9wD-view-m2S-Jp-Qdl.nib differ
diff --git a/HelloGoodbyeBETA.app/Contents/Resources/HelloGoodbye.entitlements b/HelloGoodbyeBETA.app/Contents/Resources/HelloGoodbye.entitlements
new file mode 100644
index 00000000..18aff0ce
--- /dev/null
+++ b/HelloGoodbyeBETA.app/Contents/Resources/HelloGoodbye.entitlements
@@ -0,0 +1,10 @@
+
+
+
+
+ com.apple.security.app-sandbox
+
+ com.apple.security.files.user-selected.read-only
+
+
+
diff --git a/HelloGoodbyeBETA.app/Contents/_CodeSignature/CodeResources b/HelloGoodbyeBETA.app/Contents/_CodeSignature/CodeResources
new file mode 100644
index 00000000..a455d571
--- /dev/null
+++ b/HelloGoodbyeBETA.app/Contents/_CodeSignature/CodeResources
@@ -0,0 +1,347 @@
+
+
+
+
+ files
+
+ Resources/AppIcon.icns
+
+ 6oHO1vx3ugD2tbi0chafhq4Ij+Q=
+
+ Resources/Assets.car
+
+ 0GWyp9U9fmKAe4s6U9tvXGjj15M=
+
+ Resources/Base.lproj/Main.storyboardc/Info.plist
+
+ XT+dTnx0hML8xq+/PIWpgwvOMrY=
+
+ Resources/Base.lproj/Main.storyboardc/MainMenu.nib
+
+ /w7ggV2tvziK4ppJFdfV/4JZQdY=
+
+ Resources/Base.lproj/Main.storyboardc/NSWindowController-B8D-0N-5wS.nib
+
+ UgucjM+cDLecGIZ9uMHF1Sd0xjo=
+
+ Resources/Base.lproj/Main.storyboardc/XfG-lQ-9wD-view-m2S-Jp-Qdl.nib
+
+ 2svRFgAEJ7tHKMVTycoCZYyxRs0=
+
+ Resources/HelloGoodbye.entitlements
+
+ ql39TqZ0eOEzNgw5igmlKddo1D0=
+
+
+ files2
+
+ Frameworks/libswiftAppKit.dylib
+
+ cdhash
+
+ hedNQKDuHyeA3YpuYMjUkmy9wYs=
+
+ requirement
+ anchor apple generic and identifier "com.apple.dt.runtime.swiftAppKit" and (certificate leaf[field.1.2.840.113635.100.6.1.9] /* exists */ or certificate 1[field.1.2.840.113635.100.6.2.6] /* exists */ and certificate leaf[field.1.2.840.113635.100.6.1.13] /* exists */ and certificate leaf[subject.OU] = BN988BU552)
+
+ Frameworks/libswiftCore.dylib
+
+ cdhash
+
+ 0/ncQvWGozUtt8KBEAp6TugoTsA=
+
+ requirement
+ anchor apple generic and identifier "com.apple.dt.runtime.swiftCore" and (certificate leaf[field.1.2.840.113635.100.6.1.9] /* exists */ or certificate 1[field.1.2.840.113635.100.6.2.6] /* exists */ and certificate leaf[field.1.2.840.113635.100.6.1.13] /* exists */ and certificate leaf[subject.OU] = BN988BU552)
+
+ Frameworks/libswiftCoreData.dylib
+
+ cdhash
+
+ xFKMi8gqj4ssO7uWB/K2mP+5InY=
+
+ requirement
+ anchor apple generic and identifier "com.apple.dt.runtime.swiftCoreData" and (certificate leaf[field.1.2.840.113635.100.6.1.9] /* exists */ or certificate 1[field.1.2.840.113635.100.6.2.6] /* exists */ and certificate leaf[field.1.2.840.113635.100.6.1.13] /* exists */ and certificate leaf[subject.OU] = BN988BU552)
+
+ Frameworks/libswiftCoreFoundation.dylib
+
+ cdhash
+
+ gEU/4/ejD/5+ZbUvibMH3q1NqtM=
+
+ requirement
+ anchor apple generic and identifier "com.apple.dt.runtime.swiftCoreFoundation" and (certificate leaf[field.1.2.840.113635.100.6.1.9] /* exists */ or certificate 1[field.1.2.840.113635.100.6.2.6] /* exists */ and certificate leaf[field.1.2.840.113635.100.6.1.13] /* exists */ and certificate leaf[subject.OU] = BN988BU552)
+
+ Frameworks/libswiftCoreGraphics.dylib
+
+ cdhash
+
+ Sxc5iEKC5nnPqd/CDVE1rmaK6IM=
+
+ requirement
+ anchor apple generic and identifier "com.apple.dt.runtime.swiftCoreGraphics" and (certificate leaf[field.1.2.840.113635.100.6.1.9] /* exists */ or certificate 1[field.1.2.840.113635.100.6.2.6] /* exists */ and certificate leaf[field.1.2.840.113635.100.6.1.13] /* exists */ and certificate leaf[subject.OU] = BN988BU552)
+
+ Frameworks/libswiftCoreImage.dylib
+
+ cdhash
+
+ 7Mhb4mHi8O8pIfqU5vA+O/+qQh4=
+
+ requirement
+ anchor apple generic and identifier "com.apple.dt.runtime.swiftCoreImage" and (certificate leaf[field.1.2.840.113635.100.6.1.9] /* exists */ or certificate 1[field.1.2.840.113635.100.6.2.6] /* exists */ and certificate leaf[field.1.2.840.113635.100.6.1.13] /* exists */ and certificate leaf[subject.OU] = BN988BU552)
+
+ Frameworks/libswiftDarwin.dylib
+
+ cdhash
+
+ 9uRhJVqSoqynZRxA0G7/hddXaJs=
+
+ requirement
+ anchor apple generic and identifier "com.apple.dt.runtime.swiftDarwin" and (certificate leaf[field.1.2.840.113635.100.6.1.9] /* exists */ or certificate 1[field.1.2.840.113635.100.6.2.6] /* exists */ and certificate leaf[field.1.2.840.113635.100.6.1.13] /* exists */ and certificate leaf[subject.OU] = BN988BU552)
+
+ Frameworks/libswiftDispatch.dylib
+
+ cdhash
+
+ d2lsS+YRLOencpHhGa0rxXU2J0U=
+
+ requirement
+ anchor apple generic and identifier "com.apple.dt.runtime.swiftDispatch" and (certificate leaf[field.1.2.840.113635.100.6.1.9] /* exists */ or certificate 1[field.1.2.840.113635.100.6.2.6] /* exists */ and certificate leaf[field.1.2.840.113635.100.6.1.13] /* exists */ and certificate leaf[subject.OU] = BN988BU552)
+
+ Frameworks/libswiftFoundation.dylib
+
+ cdhash
+
+ wKzFFkck+CbTWZVon4dApc+f0c8=
+
+ requirement
+ anchor apple generic and identifier "com.apple.dt.runtime.swiftFoundation" and (certificate leaf[field.1.2.840.113635.100.6.1.9] /* exists */ or certificate 1[field.1.2.840.113635.100.6.2.6] /* exists */ and certificate leaf[field.1.2.840.113635.100.6.1.13] /* exists */ and certificate leaf[subject.OU] = BN988BU552)
+
+ Frameworks/libswiftIOKit.dylib
+
+ cdhash
+
+ TZhfS08IccNkMd5bnu3eo6FJP7s=
+
+ requirement
+ anchor apple generic and identifier "com.apple.dt.runtime.swiftIOKit" and (certificate leaf[field.1.2.840.113635.100.6.1.9] /* exists */ or certificate 1[field.1.2.840.113635.100.6.2.6] /* exists */ and certificate leaf[field.1.2.840.113635.100.6.1.13] /* exists */ and certificate leaf[subject.OU] = BN988BU552)
+
+ Frameworks/libswiftMetal.dylib
+
+ cdhash
+
+ TnEtFLVNGnh/s1ILJQ0chZkoqn0=
+
+ requirement
+ anchor apple generic and identifier "com.apple.dt.runtime.swiftMetal" and (certificate leaf[field.1.2.840.113635.100.6.1.9] /* exists */ or certificate 1[field.1.2.840.113635.100.6.2.6] /* exists */ and certificate leaf[field.1.2.840.113635.100.6.1.13] /* exists */ and certificate leaf[subject.OU] = BN988BU552)
+
+ Frameworks/libswiftObjectiveC.dylib
+
+ cdhash
+
+ 9ISwp6f7XByczPREhcx+H+z3cz4=
+
+ requirement
+ anchor apple generic and identifier "com.apple.dt.runtime.swiftObjectiveC" and (certificate leaf[field.1.2.840.113635.100.6.1.9] /* exists */ or certificate 1[field.1.2.840.113635.100.6.2.6] /* exists */ and certificate leaf[field.1.2.840.113635.100.6.1.13] /* exists */ and certificate leaf[subject.OU] = BN988BU552)
+
+ Frameworks/libswiftQuartzCore.dylib
+
+ cdhash
+
+ kvIpqsy9FEgkqsP7lOOJbs+4LHU=
+
+ requirement
+ anchor apple generic and identifier "com.apple.dt.runtime.swiftQuartzCore" and (certificate leaf[field.1.2.840.113635.100.6.1.9] /* exists */ or certificate 1[field.1.2.840.113635.100.6.2.6] /* exists */ and certificate leaf[field.1.2.840.113635.100.6.1.13] /* exists */ and certificate leaf[subject.OU] = BN988BU552)
+
+ Frameworks/libswiftSafariServices.dylib
+
+ cdhash
+
+ bF1Mm97y3btZEiJMl2mdTRxrVNQ=
+
+ requirement
+ anchor apple generic and identifier "com.apple.dt.runtime.swiftSafariServices" and (certificate leaf[field.1.2.840.113635.100.6.1.9] /* exists */ or certificate 1[field.1.2.840.113635.100.6.2.6] /* exists */ and certificate leaf[field.1.2.840.113635.100.6.1.13] /* exists */ and certificate leaf[subject.OU] = BN988BU552)
+
+ Frameworks/libswiftXPC.dylib
+
+ cdhash
+
+ YHDQ9imR3oqAZFX/6pR1sdHy9Gc=
+
+ requirement
+ anchor apple generic and identifier "com.apple.dt.runtime.swiftXPC" and (certificate leaf[field.1.2.840.113635.100.6.1.9] /* exists */ or certificate 1[field.1.2.840.113635.100.6.2.6] /* exists */ and certificate leaf[field.1.2.840.113635.100.6.1.13] /* exists */ and certificate leaf[subject.OU] = BN988BU552)
+
+ Frameworks/libswiftos.dylib
+
+ cdhash
+
+ jCCIp/+UWfKJYLLGvG1mr6f5UHE=
+
+ requirement
+ anchor apple generic and identifier "com.apple.dt.runtime.swiftos" and (certificate leaf[field.1.2.840.113635.100.6.1.9] /* exists */ or certificate 1[field.1.2.840.113635.100.6.2.6] /* exists */ and certificate leaf[field.1.2.840.113635.100.6.1.13] /* exists */ and certificate leaf[subject.OU] = BN988BU552)
+
+ PlugIns/BlockerExtension.appex
+
+ cdhash
+
+ 11qNv9gaM0ijiRRqtClfMyqeICc=
+
+ requirement
+ anchor apple generic and identifier "hulverscheidtdirk.HelloGoodbye.BlockerExtension" and (certificate leaf[field.1.2.840.113635.100.6.1.9] /* exists */ or certificate 1[field.1.2.840.113635.100.6.2.6] /* exists */ and certificate leaf[field.1.2.840.113635.100.6.1.13] /* exists */ and certificate leaf[subject.OU] = BN988BU552)
+
+ Resources/AppIcon.icns
+
+ hash2
+
+ 3x00NlOUpvVX4pla71DCKbaerI5E0FTYWKBHwHZIn/4=
+
+
+ Resources/Assets.car
+
+ hash2
+
+ TksN6bdtZk1KSNSTt+yW5eBxoI8fy20LZNjoZ8OiUNI=
+
+
+ Resources/Base.lproj/Main.storyboardc/Info.plist
+
+ hash2
+
+ ds0GI6PsAM+O2/WJMCoiEPELs6DAJhO+mxPQcHz7GBk=
+
+
+ Resources/Base.lproj/Main.storyboardc/MainMenu.nib
+
+ hash2
+
+ faKqkoDIZQ6BvHs610Malqb05XCC8N1IdrnDxQ6QR3M=
+
+
+ Resources/Base.lproj/Main.storyboardc/NSWindowController-B8D-0N-5wS.nib
+
+ hash2
+
+ epkaa0feAc/FDmjkgsDdQwRQn5u2wJUqv20L0pGwIKs=
+
+
+ Resources/Base.lproj/Main.storyboardc/XfG-lQ-9wD-view-m2S-Jp-Qdl.nib
+
+ hash2
+
+ a/adhuRFQjdXP7S10OX2m9jE5b2J2aUUTMdUYgZ6iD4=
+
+
+ Resources/HelloGoodbye.entitlements
+
+ hash2
+
+ R2pVyDXjm1M08J7OxAtXTAyVkTfV1eYnMFDPokhwKA0=
+
+
+
+ rules
+
+ ^Resources/
+
+ ^Resources/.*\.lproj/
+
+ optional
+
+ weight
+ 1000
+
+ ^Resources/.*\.lproj/locversion.plist$
+
+ omit
+
+ weight
+ 1100
+
+ ^Resources/Base\.lproj/
+
+ weight
+ 1010
+
+ ^version.plist$
+
+
+ rules2
+
+ .*\.dSYM($|/)
+
+ weight
+ 11
+
+ ^(.*/)?\.DS_Store$
+
+ omit
+
+ weight
+ 2000
+
+ ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/
+
+ nested
+
+ weight
+ 10
+
+ ^.*
+
+ ^Info\.plist$
+
+ omit
+
+ weight
+ 20
+
+ ^PkgInfo$
+
+ omit
+
+ weight
+ 20
+
+ ^Resources/
+
+ weight
+ 20
+
+ ^Resources/.*\.lproj/
+
+ optional
+
+ weight
+ 1000
+
+ ^Resources/.*\.lproj/locversion.plist$
+
+ omit
+
+ weight
+ 1100
+
+ ^Resources/Base\.lproj/
+
+ weight
+ 1010
+
+ ^[^/]+$
+
+ nested
+
+ weight
+ 10
+
+ ^embedded\.provisionprofile$
+
+ weight
+ 20
+
+ ^version\.plist$
+
+ weight
+ 20
+
+
+
+
diff --git a/Safari/BlockerExtension/BlockerExtension.entitlements b/Safari/BlockerExtension/BlockerExtension.entitlements
index f2ef3ae0..18aff0ce 100644
--- a/Safari/BlockerExtension/BlockerExtension.entitlements
+++ b/Safari/BlockerExtension/BlockerExtension.entitlements
@@ -2,9 +2,9 @@
- com.apple.security.app-sandbox
-
- com.apple.security.files.user-selected.read-only
-
+ com.apple.security.app-sandbox
+
+ com.apple.security.files.user-selected.read-only
+
diff --git a/Safari/HelloGoodbye.xcodeproj/project.pbxproj b/Safari/HelloGoodbye.xcodeproj/project.pbxproj
index 3391ed97..bb7c5085 100644
--- a/Safari/HelloGoodbye.xcodeproj/project.pbxproj
+++ b/Safari/HelloGoodbye.xcodeproj/project.pbxproj
@@ -185,9 +185,19 @@
TargetAttributes = {
EDDE49D0225A9834005DE7A4 = {
CreatedOnToolsVersion = 10.2;
+ SystemCapabilities = {
+ com.apple.HardenedRuntime = {
+ enabled = 1;
+ };
+ };
};
EDDE4A05225A98DF005DE7A4 = {
CreatedOnToolsVersion = 10.2;
+ SystemCapabilities = {
+ com.apple.HardenedRuntime = {
+ enabled = 1;
+ };
+ };
};
};
};
@@ -397,6 +407,7 @@
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
DEVELOPMENT_TEAM = BN988BU552;
+ ENABLE_HARDENED_RUNTIME = YES;
INFOPLIST_FILE = HelloGoodbye/Info.plist;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
@@ -417,6 +428,7 @@
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
DEVELOPMENT_TEAM = BN988BU552;
+ ENABLE_HARDENED_RUNTIME = YES;
INFOPLIST_FILE = HelloGoodbye/Info.plist;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
@@ -435,6 +447,7 @@
CODE_SIGN_ENTITLEMENTS = BlockerExtension/BlockerExtension.entitlements;
CODE_SIGN_STYLE = Automatic;
DEVELOPMENT_TEAM = BN988BU552;
+ ENABLE_HARDENED_RUNTIME = YES;
INFOPLIST_FILE = BlockerExtension/Info.plist;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
@@ -455,6 +468,7 @@
CODE_SIGN_ENTITLEMENTS = BlockerExtension/BlockerExtension.entitlements;
CODE_SIGN_STYLE = Automatic;
DEVELOPMENT_TEAM = BN988BU552;
+ ENABLE_HARDENED_RUNTIME = YES;
INFOPLIST_FILE = BlockerExtension/Info.plist;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
diff --git a/Safari/HelloGoodbye.xcodeproj/project.xcworkspace/xcuserdata/bruceroettgers.xcuserdatad/UserInterfaceState.xcuserstate b/Safari/HelloGoodbye.xcodeproj/project.xcworkspace/xcuserdata/bruceroettgers.xcuserdatad/UserInterfaceState.xcuserstate
index 9462f47a..b65e676c 100644
Binary files a/Safari/HelloGoodbye.xcodeproj/project.xcworkspace/xcuserdata/bruceroettgers.xcuserdatad/UserInterfaceState.xcuserstate and b/Safari/HelloGoodbye.xcodeproj/project.xcworkspace/xcuserdata/bruceroettgers.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/Safari/HelloGoodbye/HelloGoodbye.entitlements b/Safari/HelloGoodbye/HelloGoodbye.entitlements
index f2ef3ae0..18aff0ce 100644
--- a/Safari/HelloGoodbye/HelloGoodbye.entitlements
+++ b/Safari/HelloGoodbye/HelloGoodbye.entitlements
@@ -2,9 +2,9 @@
- com.apple.security.app-sandbox
-
- com.apple.security.files.user-selected.read-only
-
+ com.apple.security.app-sandbox
+
+ com.apple.security.files.user-selected.read-only
+