# Name: smd_lib v0.36 (compressed) # Type: Library plugin # Shared function library used by smd_ plugins and others. # Author: Stef Dawson # URL: http://stefdawson.com/ # Recommended load order: 5 # ..................................................................... # This is a plugin for Textpattern - http://textpattern.com/ # To install: textpattern > admin > plugins # Paste the following text into the 'Install plugin' box: # ..................................................................... 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